1

这是我的代码(jquery 2.0.3):

alert($('<p>test <b>me</b></p>').filter('p').get(0).html());

铬 说:

Cannot call method 'html' of undefined 

怎么了?

顺便说一句,我期待test <b>me</b>

附言。我的问题是我从 XSLT 而不是 HTML 运行它。但是感谢大家的回答。

4

2 回答 2

6

删除.get(0)方法。

http://jsfiddle.net/NMhQW/

alert($('<p>test <b>me</b></p>').filter('p').html());
于 2013-08-09T19:07:20.980 回答
1

如果您要使用,.get(0)那么您将返回实际的 DOM 元素,而不是 jQuery 对象。所以你必须使用标准的 DOM 东西.. 在这种情况下

$('<p>test <b>me</b></p>').filter('p').get(0).innerHTML;

否则,如果您想保留全部 jQuery,您可以说

// based on the .get(0) I'm assuming you want the first matched element?
$('<p>test <b>me</b></p>').filter('p').eq(0).html();

并抓取每个段落的 html

$('<p>test <b>me</b></p>').filter('p').html();
于 2013-08-09T19:11:17.950 回答