2014-09-04 19 views
1

我必须转换表到csv 我使用下面的逻辑来连接各TD的串jQuery的解析HTML结果对象犯规支持属性错误

var $text=(table.rows[0].cells[i].innerHTML.split(", ").join("")).toString(); 

假设$文本实际持有的<font class="Major">testcasedff</font>;

当我尝试使用查找功能用于提取数据

var data=$text.find('font').text(); 

它实际上是行不通的。我现在用IE9作为测试浏览器和即时得到下面的脚本错误

线:300 错误:对象不支持属性或方法“发现”

请参阅下面的小提琴

+0

'$ text'是弦乐...你,然后试图用'find'它 – 2014-09-04 09:24:48

+3

你需要使用'$($文本).find(...)' – 2014-09-04 09:25:11

+0

$文本持有 Test Subject1它是一个字符串 – 2014-09-04 09:25:40

回答

1

尝试:

在下面一行的JQuery转换的HTML元素从字符串到jQuery对象,因此您的OP将被简化:

var fontObj = $("<font class='Major'>this is a test</font>"); 
var $textfontObj.text(); 

在纯JavaScript你会需要创建一个虚拟元素,从字符串中插入HTML元素,然后得到期望的结果:

var targetEleContainer = document.createElement('div'); 
targetEleContainer.innerHTML = "<font class='Major'>this is a test</font>"; 
var out2=(targetEleContainer.firstChild).innerHTML; 

再见

+0

它不工作。请注意fontObj是一个字符串 – 2014-09-04 12:28:48

+0

对不起@AbinayaDevarajan,它只适用于你使用JQuery。相反,如果你只使用没有JQuery的JavaScript,你是对的,它不起作用!我假设你有兴趣使用一种简单而快速的方式将字符串转换为JQuery对象,然后获取属性。 – gaetanoM 2014-09-04 12:36:42

+0

嗨@AbinayaDevarajan再次尝试你的演示:我改变了它并添加了我的代码:检查http://jsfiddle.net/8zrhgy6v/6/上的“This is”让我知道 – gaetanoM 2014-09-04 13:01:26

0

的textContent DOM属性和解析HTML工作

var $text="<font class='Major'>this is a test</font>"; 

    var result=''; 
    var data=$.parseHTML($text); 
      $.each(data, function (i, el) { 
      result += el.textContent; 
      }); 

alert(result); 

请结算的网络连接ddle

http://jsfiddle.net/Abinaya_WEBGurl/8zrhgy6v/3/

相关问题