我怎么会滥用选择器的开头
How am I misusing the start with selector?
如果a == "http://foo.bar"
和$(b[0]).attr("href") == "http://foo.bar"
那么为什么以下代码没有返回true:
$("[href^='"" + a + "'"]", b).length > 0
因为传递给jQuery函数的第二个参数确定了选择器的范围,也就是说,在b的子元素中找到所选元素。
以为例
<div id="one">
<div id="two" title="Test" />
</div>
这将返回1个
$('[title="Test"]','#one').length
这将返回0
$('[title="Test"]','#two').length
现场示例:http://jsfiddle.net/mkudf/
根据您的评论,在将元素添加到dom之前,您似乎正在做一些事情,例如:
var $x = $('<div id="one" /><div id="two" title="Test" />');
alert($('[title="Test"]',$x).length); // alerts "0"
如果不将动态元素包装在一个额外的元素中,我找不到任何方法来实现你想要的(上面提醒"1"):
var $x = $('<div><div id="one" /><div id="two" title="Test" /></div>');
alert($('[title="Test"]',$x).length); // now alerts "1"
这应该不是太大的问题,当添加到dom时,你可以只使用$x.children()
:
$someOtherElement.after($x.children());
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery最近父级的数据属性选择器
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- jquery IE7中的第n个选择器
- jquery复杂选择器,按元素和类以开头
- 以选择器^=开头的css在用javascript更改类后不起作用
- 我怎么会滥用选择器的开头
- 如何使用“属性以选择器开头”中的 ID 变量来选择 jQuery 中的元素
- 属性以选择器 - CSS 更改开头
- 选择具有以某个字符串开头的 ID 选择器的下拉列表
- jQuery选择器,用于模拟:以或开头:以结尾搜索文本
- jQuery -通配符选择器以w/String开头,以w/Variable结尾
- JQuery属性以"开头选择器定义
- javascript前缀以CSS选择器开头
- id的jQuery选择器以特定文本开头