使用javascript或jquery解析innerHTML中的html

使用javascript或jquery解析innerHTML中的html,javascript,jquery,html,Javascript,Jquery,Html,获取innerhtml后如何获取id和解析以获取其编号,如下面的3个示例所示:- var myIHTML = cell[0].innerHTML; myIHTML = '<input type="submit" name="pic" value="Preview" /><div id="allItems1" style="display: none;"></div>' ; or myIHTML = '<input type="submit" name=

获取innerhtml后如何获取id和解析以获取其编号,如下面的3个示例所示:-

var myIHTML = cell[0].innerHTML;

myIHTML = '<input type="submit" name="pic" value="Preview" /><div id="allItems1" style="display: none;"></div>' ;
or
myIHTML = '<input type="submit" name="pic" value="Preview" /><div id="allItems2" style="display: none;"></div>';
or
myIHTML ='<input type="submit" name="pic" value="Preview" /><div id="allItems11" style="display: none;"></div>'

我喜欢从allItems id中获取数字。例如1、2、11等。

您可以使用jQuery解析字符串:

var elems = $(myIHTML);
然后在“使用过滤器”中选择元素:

var alItems2Elem = elems.filter('#allItems2');
要从div的id获取编号,请执行以下操作:

var alItemsId = elems.filter('div').attr('id').replace('allItems', '');
这是一个


阅读有关.filter的更多信息。

您可以将innerHTML返回到DOM,这样您就可以在其中进行搜索,然后解析id。以下是一个示例:

// Create a div to insert back the contents into
var div = document.createElement('div');

// Insert the contents back
div.innerHTML = '<input type="submit" name="pic" value="Preview" /><div id="allItems1" style="display: none;"></div>';

// Get the element with id starting with allItems
var id = div.querySelector('[id^="allItems"]').id;

// Get the number by replacing non-digits with empty character and then converting the string to integer
console.log( 'Number from id is', parseInt( id.replace ( /[^\d.]/g, '' ) ) );

你说的解析是什么意思?您的意思是将字符串转换为HTML吗?不,我的意思是提取值。不管是字符串还是数字。见最后一行我的问题,我想从allItems id中获取数字。比如1,2,11等等,当您可以直接从DOM中获取数字时,您为什么要解析它?var value=cell[0]。querySelector'div'.id.replace'allItems'将为您提供所需的内容。然后,您需要获取id,cell.querySelector'[id^=allItems]'。id.replace'allItems',感谢blex,我很快就获得了html的内部部分:.evolutionxbox,您的注释以简单的方式给出了我想要得到的内容。谢谢,如果答案是这样的话,我会选择这个作为答案,而不仅仅是投票。下面的答案现在是备选方案,将从中选择一个。再次感谢你们,岩石:我不知道过滤器里有什么,因为它是动态的,我给了两个样本。元素过滤器'allItems2';allItems2是我不知道的,在运行时得到它,我需要在allItems2中查找/筛选2。进化Xbox的答案正是我想要的。无论如何,感谢您的帮助。第三个示例jdoes接受的答案所做的,但是使用一行jquery,注意它过滤'div's,您也可以使用过滤器'[id^=allItems]'获得相同的结果。感谢您的解决方案,时间稍长,但也有效:。最简单的一个是evolutionxbox在上面的评论中所建议的。选择你的回复作为答案,因为它也给出了我想要的答案,evolutionxbox的答案在评论中。我认为你不再有权访问cell-在你的问题中,你说在获得innerhtml后如何获取id和解析以获取其编号,如下面的3个示例,这就是为什么我在DOM中再次重新创建innerhtml。如果你仍然拥有它,当然直接使用它会更好更快@AKSIt现在有意义了。谢谢你的澄清。我现在明白了这一点: