如果可能的话,请把我推向这个问题的副本。我到处都看,但似乎无法找到它。
如何对文本内容执行getElementById?
var test = '<div id="thisDiv">HI</div>';
如果它不是DOM的一部分,我如何选择thisDiv?
答案 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