使用jQuery对DOMParser对象执行操作

问题描述:

我需要使用jQuery将tabindex设置为下表中的所有td存在。使用jQuery对DOMParser对象执行操作

我可以用下面的代码来做到这一点,如果表是在DOM中。
但是,如果表格仍不存在于DOM中呢?
它仍然在JavaScript变量?

所以我的问题是关于jQuery选择器。
给出“table tr td”,然后可以在DOM上找到它。

但是我怎样才能在jQuery选择器中使用我的DOMParser对象,所以我将尝试在我定义的DOM对象中找到表标记,而不是在文档全局对象上。

如果您有任何问题,请让我知道。

$("table tr td").each(function (i) { $(this).attr('tabindex', 0); }); 

任何关于表操作的例子将不胜感激。提前致谢。

var xmlString = "<table id='tableabc' border='1' style='width:50%'> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr> <tr> <td>Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> </table>"; 

var parser = new DOMParser(); 

var doc = parser.parseFromString(xmlString, "text/xml"); 

其余的东西如何使用我不确定这一点。

+1

jQuery有[parseHTML(https://api.jquery.com/jquery.parsehtml/),这意味着更换的DOMParser但它会做你的最终目标我想 – niceman

+0

你的问题不清楚..特别是这句话:*«但是我怎么用我的DOMParser ...»*我试图改进它,但是你试图达到的对我来说是一个谜。请编辑它。 –

+0

我想设置tabindex所有td在表中使用jQuery的HTML内容尚未在文档上。 –

var htmlstring = "<table id='table47' border='1' style='width:50%'> <tr> <th>Firstname</th> <th>Lastname</th> <th>Funny</th> </tr> <tr> <td>A</td> <td>N</td> <td>No</td> </tr> <tr> <td>A</td> <td>P</td> <td>Yes</td> </tr> </table>"; 

var $jQueryObject = $($.parseHTML(htmlstring)); 

$jQueryObject.each(function(){  
    var tdObj = $(this).find("td"); 
    var thObj = $(this).find("th"); 
    thObj.attr('tabindex', 7); 
    tdObj.attr('tabindex', 8); 
}); 

console.log($jQueryObject); 
$("#divForParsedTable").html($jQueryObject); 
+0

那么问题是什么?你能为未来的读者解释吗? –

+0

@LouysPatriceBessette:HTML存储在字符串中,我想设置一些属性给那些存储在字符串变量使用jQuery的HTML。 我不确定如何在jquery选择器中选择html来执行操作。现在回答使用parseHTML(字符串)找到答案。再次感谢。 –

+0

请注意,您可以使用DOMParser的原始解析文档完全相同:只需将返回的文档包装到jquery对象中,并从那里执行导航:'$ doc = $(new DOMParser()。parseFromString(' Hello','text/html')); $ doc.find('a')。attr('href','home');' – Kaiido