将字符串转换为jquery对象并从中提取数据

时间:2014-01-30 21:38:16

标签: javascript jquery

我有以下代码

HTML

<span id = 'testlabel'></span>

JS

var test = '<tr style="display:none" class="projinfo">test<br/>test</tr>' +   
'<tr><td column="Type"><b>Project</b></td><tr>';

 var dom = $(test).filter('.projinfo');

 var content = dom.length > 0 ? dom[0].innerHTML:'No data';

$('#testlabel').text('Content is ' + content);

jsfiddle

在Chrome中,我期待我的jsfiddle的结果是

“内容是测试测试”

而不是

内容

我在这里缺少什么?

在IE 9中,我得到了正确的结果..

1 个答案:

答案 0 :(得分:2)

看起来HTML jQuery创建的内容在Chrome上的评估方式并不相同(请注意它在IE中的作用)。这是因为<tr>内部没有<td>。如果您将内容更改为以下内容:

var test = '<tr style="display:none" class="projinfo"><td>test</td></tr>' +   
'<tr><td column="Type"><b>Project</b></td><tr>';

 var dom = $(test).filter('.projinfo').find('td');

 var content = dom.length > 0 ? dom[0].innerHTML:'No data';

$('#testlabel').text('Content is ' + content);

它会正常工作:

Content is test

jsfiddle