使用javascript在文本内容中查找DOM元素

时间:2013-12-30 20:53:45

标签: javascript html-parsing getelementbyid

如果可能的话,请把我推向这个问题的副本。我到处都看,但似乎无法找到它。

如何对文本内容执行getElementById?

var test = '<div id="thisDiv">HI</div>';

如果它不是DOM的一部分,我如何选择thisDiv?

4 个答案:

答案 0 :(得分:4)

创建一个元素,将字符串设置为innerHTML,然后在...内搜索

这样的东西
var test = '<div id="thisDiv">HI</div>';
var element = document.createElement('DIV');
element.innerHTML = test;

alert(element.textContent);

更改了初始outerHTML,因为您只能维护对原始创建元素的引用,而不是新html创建的新元素

答案 1 :(得分:0)

要获取标记内的文本值,请使用RegEx:

var re = new RegExp("<(.|\n)*?>", "g");
var content = test.replace(re,"");

答案 2 :(得分:0)

你可以创建一个临时DIV并用你的字符串填充它。即便如此,您访问它的能力也会受到限制。将其添加到DOM以使用getElementById访问它。

var div = document.createElement('div');
div.innerHTML = '<div id="thisDiv">HI</div>';
alert(div.firstChild);

答案 3 :(得分:0)

为了避免创建额外的元素,我们可以将它添加到正文......

var test = '<div id="thisDiv">HI</div>';
document.querySelector('body').innerHTML = test;
console.log(document.getElementById('thisDiv'));

<强> Obligatory Fiddle

获取文字......

console.log(document.getElementById('thisDiv').textContent); // returns HI