在页面加载上动态地将标记插入HTML

我正在尝试使用Javascript动态插入Tweetmeme按钮。 我目前正在整个网站上使用jQuery。 这是我正在使用的脚本。 我基本上想要通过一类日志条目循环遍历所有博客条目,并将以下JavaScript附加到最后。 这个Javascript直接来自tweetmeme.com。 这对我不起作用,它与append()之间的代码有关。 它不喜欢第二组脚本标签。

 $(document).ready(function() { $('.journal-entry').each(function(index) { $(this).append(''); }); });  

任何帮助表示赞赏。 谢谢。

不要这样做。

HTML内容插入DOM是不可靠的:它在不同的浏览器中以不同的方式工作,jQuery不会保护您免受差异的影响。

特别是,编写innerHTML 永远不会导致元素的内容执行,但随后将元素从它移动到新的父元素(这是jQuery的append过程的一部分) 可能会导致脚本执行,但不会总是(这取决于浏览器)。

无论如何,它永远不会工作,因为看着button.js ,它正在调用document.write() 。 该函数仅在初始文档解析时调用才有意义; 如果您之后从事件中调用它,则该呼叫将简单地替换整个页面内容,从而破坏您现有的页面。 调用document.write()脚本只能在文档加载时从元素的执行路径内运行。 您根本不能将脚本包含在动态创建的内容中,因为它不是为此而设计的。

(如果它让你感觉更好,它根本就没有设计; button.js脚本是一个严重破坏的旧垃圾,包括不正确的URL转义 - 使用escape而不是正确的encodeURIComponent - 并且缺少HTML转义。你。远离这些完全白痴可能会更好。)

append(...)调用中字符串中的结束正在关闭整个

尝试将其分成两个字符串。 例如:

 $(this).append('