为什么基于此属性的选择器在 jQuery 中给出错误
Why is this attribute based selector giving error in jQuery?
alert($("div#keylist ul li").filter("[display=block]").first().position().top);
我确实有一个以 id 作为键列表的div,并且其中有一个无序列表。我想要第一个可见元素的 .position((.top。
实际上[display=block]
不是一个正确的选择器
改用:可见选择器
alert($("div#keylist ul li:visible").first().position().top);
我认为这就是你需要的
alert($('ul > li').filter(function(){
return $(this).css('display') == 'block';
}).first().text());
演示
如前所述,前面的答案[display=block]
不是选择器。但是如果你仍然坚持选择li
具有这个css属性的元素,你可以按类
这里有几种方法可以实现相同的目标
// Using Filter
alert("Using Filter " +$("div#keylist ul li").filter(".blockDec").first().position().top);
由于您已经将父级作为div#keylist
因此您可以使用find()
而不是使用filter()
这是filter & find
之间的区别
你也可以看看 这里 和 这里 优化选择器
//Using find .Here it will find all child element of ul
alert("Using Find " +$("div#keylist ul").find(".blockDec").first().position().top);
//Optimizing the jQuery selector
alert("Optimized " +$("#keylist").find(".blockDec:first").position().top);
吉斯菲德尔
相关文章:
- 将javascript代码转换为jquery代码时出错
- jQuery AJAX总是出错
- 在Laravel 5中使用JQuery从href提取值时出错
- 如何在jquery中检查null值而不出错
- Jquery Mobile 中的翻转开关出错
- 在使用 jQuery printElement 插件时出错
- 不允许的关键字符.通过 Codeigniter 中的 jQuery 在帧中加载嵌入代码时出错
- 在jquery中获取值时出错
- Jquery日期选择器验证出错
- 加载Jquery时Chrome扩展出错
- jQuery AJAX POST请求传递值时出错
- jQuery position()/offset()值在重载时出错(chrome)
- 404调用jQuery.post时出错
- 将jquery ajax请求推入数组时出错
- jQuery$(document).ready阻塞页脚脚本时出错
- 使用JQuery将XML解析为SQLite DB时出错:所有行都具有相同的值
- 使用selenium实现jquery时出错
- JQuery尝试进行Ajax调用时出错
- 从.json url中提取数据导致Jquery出错
- Jquery出错,速度变慢