我正在尝试将样式应用于具有标题属性的所有元素。由于某种原因,此代码仅返回第一个,而不是全部。我可能错过了一些明显的东西...任何帮助都会很棒,谢谢!
$("[title]").each(function() {
doSomething(this);
}
最佳答案
您的代码是正确的(除了缺少的);
我认为这只是一个粘贴错误)并且应该可以工作。
它不起作用的唯一原因是如果您没有将代码包装在 $(document).ready 中。如果您不熟悉 $(document).ready,它是 jQuery 的一个特殊事件,一旦整个 DOM 结构准备好被操作,就会触发该事件。如果你的 Javascript 位于页面顶部,那么你在 $(document).ready 之外运行的任何内容都将针对空 DOM 进行操作,因为浏览器还没有时间创建节点。因此,每当您想要操作元素(尤其是获取所有具有标题的元素的查询)时,您肯定需要将代码放在这个特殊事件周围。
记住这一点,我尝试了以下代码,它会在带有标题的元素周围放置红色边框:
$(document).ready(function() {
$("[title]").each(function() {
$(this).css('border','1px solid red');
});
});
还有它worked properly .
关于jQuery [attribute] 选择器仅返回第一个元素,而不返回全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1088825/