我可以从包含其他文本的字符串中获取jquery元素吗?

时间:2016-12-22 21:25:29

标签: jquery

我想从下面获取Jquery DOM:

var targetStr = "someText1<input type='button' id='node1' >someText2<input type='button' id='node2'>someText3"

我试过了:

$(targetStr).find('#node1');    $(targetStr).find('#node2');

但两者都不起作用。

我想要的是从包含其他文本的字符串中获取每个jQuery元素。

任何方法或插件都将非常感激。

2 个答案:

答案 0 :(得分:1)

您可以使用parsehtmlfilter

var targetStr = "someText1<input type='button' id='node1' >someText2<input type='button' id='node2'>someText3"

var result = $.parseHTML(targetStr).filter(function(ele, index) {
  return ele.id == 'node1' || ele.id == 'node2';
});

console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:-1)

而不是:

$(targetStr).find('#node1'); 

这将允许jQuery将代码视为可用的HTML:

$('<div>').append(targetStr).find('#node1')