【问题标题】:jQuery selector issue, not replacing HTMLjQuery 选择器问题,不替换 HTML
【发布时间】:2013-04-05 07:02:46
【问题描述】:
    $.ajax({
    type: 'POST',
    url: "ajaxClients.php",
    data: '&m=removeAlert&id='+ alertId,
    success: function(resultData) {
        if ($('#noteRow_'+ alertId).length)
        {
            alert('ROW FOUND - CONTENT IS: '+ $('#noteRow_'+ alertId).html() +' -- REPLACING CONTENT NOW');
        }
        $('#noteRow_'+ alertId).html('<font color="red">- Note has been removed</font>');
    }
});

所以这很简单。成功后我确实收到了警报,它会显示警报中的内容等。

然后,当我尝试将 html 设置为其他内容时,它什么也不做。我试过 .empty()、.remove()... 没有控制台错误。有什么我想念的想法吗?

编辑 - html...

<div id="noteRow_127"><img onclick="removeAlert('127')" style="cursor:pointer;" alt="Remove Message" title="Remove Message" src="images/notificationRemove.png" border="0"> [04/04/2013 06:26 PM] <b>Austin</b>: afvazf</div>

“removeAlert()”是触发 ajax 调用的原因...

编辑 2...

我想不知何故这被放在页面上 2 次。尽管在 PHP 文件中只有一个构建行的函数实例,所以我想我只需要弄清楚那里发生了什么。因此,对于遇到此问题的其他任何人,请检查元素(使用 chrome 或类似元素)并按 ctrl+f 并查看它是否多次出现在页面上!

最终编辑:

因为我无法弄清楚它是如何两次出现在页面上的

$('[id="noteRow_'+ alertId +'"]').html('<font color="red">- Note has been removed</font>');

照顾它!

【问题讨论】:

  • 你是否 100% 确定它存在并且是 dom 的一部分(即未被其他查询添加):$('#noteRow_'+ alertId)
  • 嗯,正如我所提到的,警报起作用并返回行的内容(这是一个 div)。我也可以编辑和粘贴 HTML...
  • 如果内容最初是一个 div 并且您将其替换为 '- 注意已被删除' 您应该看到什么?
  • 在屏幕上?它应该是红色的“Note has been removed”,但它仍然是“[04/04/2013 06:26 PM] Austin: afvazf”

标签: jquery-selectors


【解决方案1】:

http://jsbin.com/ujimiw/2/edit

从我的角度来看,它似乎工作正常。我只是将点击处理程序绑定到按钮上,它就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 2011-10-31
    • 2010-12-01
    • 2010-11-25
    相关资源
    最近更新 更多