带有字符串对象的jQuery选择器不起作用
jQuery selector with string object not working
var theHTML = '<html><head><title>Hi</title><link rel="apple-icon-touch-precomposed" href="icon.jpg" /></head><body></body></html>';
alert($(theHTML).find('link[rel="apple-icon-touch-precomposed"]').attr('href'));
它提醒"未定义"。我希望它返回"图标.jpg"。怎么了?
试试这个:
alert($(theHTML).filter('link[rel="apple-icon-touch-precomposed"]').attr('href'));
也就是说,使用 .filter()
而不是 .find()
.
演示:http://jsfiddle.net/WmwRU/
如果你做一个console.log($(theHTML))
你就会明白为什么。
在
这样的 HTML 上选择时,您需要使用.filter()
而不是.find()
。
JSFiddle
我不知道
你想要它做什么,但如果你使用filter()
而不是find()
它会按照你想要的方式工作:
var theHTML = '<html><head><title>Hi</title><link rel="apple-icon-touch-precomposed" href="icon.jpg" /></head><body></body></html>';
alert($(theHTML).filter('link[rel="apple-icon-touch-precomposed"]').attr('href'));
JSFiddle Demo
我不确定你是否可以这样使用.find
,我必须阅读有关它的API。但是,您可以尝试.prop('href')
而不是.attr('href')
。如果这不起作用,我还建议在=
后使用*
,例如link[rel=*"apple-icon-touch-precomposed"]
相关文章:
- jQuery选择器无法正常工作
- 将jquery选择器转换为数组
- JavaScriptDOM正常工作时JQuery选择器不工作
- 在我的情况下,使用带有变量失败的 jquery 选择器
- 换行符插入jquery选择器
- 使用javascript"这个“;用于jquery选择器
- jQuery选择器缓存问题
- jQuery 选择器,所有跨度都在 DIV 内
- JQuery选择器:如果同级具有.class,则选择td
- jQuery选择器不识别任何动态创建的HTML输入函数
- 循环遍历元素jquery选择器
- jQuery选择器错误:无法识别的表达式
- 自定义jquery选择器属性未在模拟器中激发
- Jquery选择器为空,我应该使用哪个作用域
- jQuery选择器就是用这个构建的
- jQuery 选择器混淆
- 将jQuery选择器与“this”相结合
- jQuery选择器在脚本中不起作用,但在控制台中工作
- jQuery 选择器中的简单 jQuery 语法和串联
- 全局 JQuery 选择器缓存以提高性能