【问题标题】:jquery - Selectors not workingjquery - 选择器不起作用
【发布时间】:2015-12-03 19:51:35
【问题描述】:

我想使用 jQuery 向我的网站添加类似的功能,但我的元素选择器不起作用。

HTML:

<a class="btn-like" id="1">2</a>

JQUERY(HTML 不工作):

$( document ).ready(function() {
  $(".btn-like").click(function() {
    var like_id = $(this).attr("id");
    $('a.btn-like#'+like_id).html('Loading ...');
    $.ajax({
      type: "POST",
      url: "like.php",
      data: 'item_id='+like_id,
      cache: false,
      success: function(data) {
        $('a.btn-like#'+like_id).html(data);
        alert(data); //correct response
        $('a.btn-like#'+like_id).addClass('liked');
      }
    });
    return false;
  });
});

JQUERY(HTML 工作):

$( document ).ready(function() {
  $(".btn-delete").click(function() {
    var item_id = $(this).attr("id");
    $('a.btn-delete#'+item_id).html('Loading ...');
    $.ajax({
      type: "POST",
      url: "post.php",
      data: 'item_id='+item_id,
      cache: false,
      success: function(data) {
        $('div#post_'+item_id).remove();
      }
    });
    return false;
  });
});

ajax 帖子的响应是正确的。但是.html 更新不起作用

点击链接后内容不变。

【问题讨论】:

  • Quit using alert() for troubleshooting.,请改用console.log()
  • 你不能只使用$(this).html('Loading...'); 吗?
  • 在另一个起作用的函数.html 工作正常。只有我那个代码不是
  • 你为什么不直接使用 $(this).html('Loading .... ') ?
  • 你也改成$(this).html(data);了吗?顺便说一句,“正在加载...”有效吗?而且我不认为这是具有相同 id 的多个元素的另一种情况?

标签: php jquery html ajax


【解决方案1】:

对于锚标记,您应该更新文本属性。 $('a.btn-like#'+like_id).text(data);

【讨论】:

  • 抱歉,这不起作用。其他变量的其他函数中的相同代码也可以正常工作。但这不起作用
  • 可以加个错误函数吗? ,error: function(data) { alert(data); //correct response }
  • 我测试过但 ajax 帖子成功了,所以如果元素他不能更新html 代码。其他一切正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2015-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
相关资源
最近更新 更多