首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在追加后更改html中的文本值

问在追加后更改html中的文本值
EN

Stack Overflow用户
提问于 2017-08-23 19:15:27
回答 4查看 2.2K关注 0票数 3

我创建一个带有附加项的按钮

代码语言:javascript
复制
var row = '<tr><td><button class="directly-follow btn" text="Follow">Follow</button></td></tr>';
$('.textWord_about> table > tbody').append(row);

我希望通过单击按钮来使用jquery更改按钮文本。

这就是我在做什么:

代码语言:javascript
复制
$(document).on('click', '.directly-follow', function() {
    event.preventDefault();
    var $post = $(this);
    if ($post.attr("text") == "Follow") {
        $post.text('Unfollow');
        //do something
     }
     else{
        $post.text('Follow');
        //do something
     }

问题是,行$post.text('Unfollow')更改按钮文本,但不更改html标记(text="Follow")中定义的文本。因此,该功能不会按我所希望的那样切换。( if始终为真!)

如何使用jquery更改文本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-08-23 19:18:37

要更改自定义attribute的值,必须使用attr方法。

可以使用attr方法获取attribute值,也可以设置attribute值。

该方法获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。

代码语言:javascript
复制
$(document).on('click', '.directly-follow', function() {
event.preventDefault();
var $post = $(this);
if ($post.attr("text") == "Follow") {
    $post.text('Unfollow');
    $post.attr('text','Unfollow');
 }
 else{
    $post.text('Follow');
    $post.attr('text','Follow');
 }
票数 1
EN

Stack Overflow用户

发布于 2017-08-23 19:25:39

使用attr代替文本。http://api.jquery.com/attr/

​

代码语言:javascript
复制
var row = '<tr><td><button class="directly-follow btn" text="Follow">Follow</button></td></tr>';

$('.textWord_about> table > tbody').append(row);

$(document).on('click', '.directly-follow', function() {
  event.preventDefault();
  if ($(this).attr("text") == "Follow") {
      $(this).text('Unfollow');
      $(this).attr('text','Unfollow');
   }
   else{
      $(this).text('Follow');
      $(this).attr('text','Follow');
   }
 });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="textWord_about">
  <table>
    <tbody>
      
    </tbody>
  </table>
</div>

​

票数 1
EN

Stack Overflow用户

发布于 2017-08-23 19:28:22

我想你想要这样:

小提琴

​

代码语言:javascript
复制
var row = '<tr><td><button class="directly-follow btn" text="Follow">Follow</button></td></tr>';
$('.textWord_about> table > tbody').append(row);

$(document).on('click', '.directly-follow', function(event) {
    event.preventDefault();
    var $post = $(this);
    console.log($post.attr("text"))
    if ($post.attr("text") == "Follow") {
        $post.text('Unfollow');
				$post.attr("text","Unfollow")
        //do something
     }
     else{
        $post.text('Follow');
				$post.attr("text","Follow")
        //do something
     }
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='textWord_about'>
  <table>
    <tbody></tbody>
  </table>
</div>
<div class='directly-follow'>

</div>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45847735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档