【发布时间】:2013-02-27 21:52:13
【问题描述】:
我正在尝试访问已使用 .html 插入的类元素。当我通过点击事件在函数中调用它时,它可以工作,但是当我直接调用它时,它没有......任何想法?
$("#textarea).html("<div>Lorem ipusum<span class='note-content'>Note text</span>Lorem ipusum</div>");
function collapseNotes() {
$(".note-content").animate({
width:"50px",
opacity: ".3",
});
}
//this works
$("#button").click(function() {
collapseNotes();
});
//this doesn't work
collapseNotes();
【问题讨论】:
-
函数本身没有问题。它可能被调用得太早(在 DOM 中访问
.note-content之前)Demo -
它在文档就绪声明中。否则我如何确保所有内容都已加载?
-
DOMReady 应该足够了,假设在调用
$('#textarea').html之后调用它,它会插入注释。正如您从我发布的演示链接中可以看出的那样,在您的示例中调用该函数时该函数正在工作。问题出在其他地方。 -
好的会继续搜索,谢谢!
-
或者,发布更多信息。您的浏览器控制台中是否存在运行时错误?你知道你的脚本曾经到达
collapseNotes()吗?您可以通过在函数中放置alert来验证这一点。您可以通过将alert($('.note-content').length);放入collapseNotes来进行更多调试,这将显示该函数已被调用以及是否找到任何注释。