【问题标题】:jQuery replaceWith, append, prepend not workingjQuery replaceWith,追加,前置不起作用
【发布时间】:2010-11-03 20:04:59
【问题描述】:

我正在尝试在 li 中添加一些内容,托管在 #container #boxes #third li a 中,但它不太有效。

我正在使用以下代码:

$('#container #boxes #third li a').append(kevintext);

但每当我这样做时,什么都没有发生。您可以在我的testing page 此处查看正在运行的代码。

因为这不起作用,我尝试了其他方法:用其他文本替换页脚中的 span(因此禁用 JavaScript 的人不会看到“悬停在我身上”并尝试悬停)。

我使用了以下代码:

$('#footer span').replaceWith('<i>For design info, mouse over me.</i>');

这也不起作用,所以我认为这可能与我的代码有关,并且可能一个修复程序可以解决这两个问题?

请帮忙。

【问题讨论】:

  • 如果您花时间制作一个简单的测试用例会很有帮助
  • 我刚刚跑了 $('#third li a').append('test');并将测试添加到最后一个块中的所有 3 个列表项就好了。

标签: jquery css xhtml append


【解决方案1】:

你所拥有的应该可以工作。它可能不是的主要原因是因为(至少通过我对 assets/script.js 的快速浏览)你试图在 $(document).ready() 之外运行它 - 没有将你的代码包装在这个函数中(您为另一部分所做的)元素尚未创建,因此此时不会发生任何事情。

【讨论】:

  • 哦;我一直认为,一旦 document.ready 运行,就意味着页面已经完成,因此您无法向其中添加任何内容。
  • 这会让很多网站无法做到:) document.ready 所做的只是等待 DOM 树准备好,以便您可以对页面中的元素进行选择。由于您要在特定位置添加内容,因此您必须等待 DOM 准备好才能找到特定位置。
猜你喜欢
  • 2011-11-10
  • 2014-04-15
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
相关资源
最近更新 更多