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'));
警告“未定义”。我希望它返回“icon.jpg”。有什么问题?
答案 0 :(得分:3)
试试这个:
alert($(theHTML).filter('link[rel="apple-icon-touch-precomposed"]').attr('href'));
即,使用.filter()
代替.find()
。
如果你做了console.log($(theHTML))
,你会明白为什么。
答案 1 :(得分:3)
答案 2 :(得分:1)
我不知道你想要的是什么,但是如果你使用 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'));
答案 3 :(得分:0)
我不确定您是否可以使用.find
,我必须阅读有关它的API。但是,您可以尝试.prop('href')
而不是.attr('href')
。如果这不起作用,我还建议在*
之后使用=
link[rel=*"apple-icon-touch-precomposed"]