javascript - 使用 jquery 单击另一个链接时更新链接

标签 javascript jquery html jquery-selectors

我是 JQuery 新手。当我单击第一个链接时,它会向服务器发送一个 Ajax 请求并返回一些数据。到目前为止一切都很好。在回调中,我想更改第二个链接的显示文本。例如 - 6 人喜欢它。我搜索了很多,但无法使其工作。

<div class="container" id="some-id">
    <a class="someclass-1">Like</a>
    <a class="someClass-2">5 people liked it</a>
</div>

我尝试了类似更改第二个链接的文本的操作。但我无法更改文本。我的问题是如何选择和更改第二个链接的文本。

$(this).closest('div').find('.someClass-2').html('6 people liked it');

我的 Ajax 代码类似于:

$(".someClass-1").click(function(e) {
      if ($(this).html() == "Like") {
          var parameters = { statusId: $(this).closest('div').attr('some-id')};
          $.get(
              "/like",
              parameters,
              function(data) { 
               $(this).closest('div').find('.someClass-2').html( data + ' people liked it.');
              }
          );
      }

我的页面上还有更多 someClass-2 类的链接,但我不想打扰它们。我只想更改当前 divsomeClass-2 链接的文本。

最佳答案

使用next()

$(this).next('.someClass-2').html('6 people liked it');

使用ajax创建一个包含当前元素的变量:

$(".someClass-1").click(function(e) {
      var el =  $(this);///see here
      if ($(this).html() == "Like") {
          var parameters = { statusId: $(this).closest('div').attr('some-id')};
          $.get(
              "/like",
              parameters,
              function(data) { 
              el.next('.someClass-2').html( data + ' people liked it.');//if you use $(this) i will refer to the ajax object
              }
          );
      }

或者:

 $(".someClass-1").click(function(e) {
          var el =  $(this);///see here
          if ($(this).html() == "Like") {
              var parameters = { statusId: $(this).closest('div').attr('some-id')};
              $.get(
                  "/like",
                  parameters,
                  function(data) { 
                  el.parent().find('.someClass-2').html( data + ' people liked it.');//if you use $(this) i will refer to the ajax object
                  }
              );
          }

关于javascript - 使用 jquery 单击另一个链接时更新链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36543495/

相关文章:

javascript - 是否可以使用 jQuery 选择像滚动条这样的伪元素?

javascript - 自动保存包含多个项目的PHP表单并使用ajax保存在mysqli中

html - 当我更改列数时,我的文本区域不会变大

javascript - Javascript 中 opener 的跨域更新哈希

javascript - Codewars Challenge - 正面计数/负面总和

javascript - 使用 LESS 检测浏览器版本

javascript - 具有动态列但布局固定的表格

javascript - jQuery 以编程方式触发事件

javascript - JQuery如何防止图片跳出窗口

php - 表单和PHP函数将表单数据保存到mysql在同一个文件中