Javascript getElementById()抛出Object不支持错误

时间:2013-11-19 07:00:31

标签: javascript

我从其他页面读取了一个html内容并将其存储在一个变量中。我需要从新存储的变量中获取值。

这是我的代码,

Var hValue="<div class='myclass'><h3 id='ct100_title'>This is title</h3><h3 id='ct100_Content'>So this is content of the page</h3></div>";

这里我需要获取标题和内容值。有什么办法吗?

3 个答案:

答案 0 :(得分:2)

var x = document.createElement('div');
x.innerHTML = "<div class='myclass'><h3 id='ct100_title'>This is title</h3><h3 id='ct100_Content'>So this is content of the page</h3></div>";
var eles = x.getElementsByTagName('h3');
console.log(eles[0].textContent);
console.log(eles[1].textContent);

答案 1 :(得分:0)

您可以尝试类似的事情,

var elem  = document.createElement('div');
elem.style.display='none';
document.getElementsByTagName('body')[0].appendChild(elem);
elem.innerHTML ="<div class='myclass'><h3 id='ct100_title'>This is title</h3><h3 id='ct100_Content'>So this is content of the page</h3></div>";
alert( "" + document.getElementById('ct100_title').innerHTML);
alert( "" + document.getElementById('ct100_Content').innerHTML);

答案 2 :(得分:-1)

DEMO

除非您不将该html内容附加到任何元素,否则它不会被视为dom节点,它仍然是正常的字符串。但是你也可以使用正则表达式来查找字符串中的标题和内容,因为每次访问dom都不是一个好主意。

var hValue="<div class='myclass'><h3 id='ct100_title'>This is title</h3><h3 id='ct100_Content'>So this is content of the page</h3></div>";

var parent = document.getElementById("MyTragetDiv"); // fictitious div to append the content
parent.innerHTML = hValue;

var titleNode = document.getElementById("ct100_title"); 
var title = (titleNode.innerText || titleNode.textContent);    // i will have title text

var contentNode = document.getElementById("ct100_Content"); 
var content= (contentNode.innerText || contentNode.textContent);  // i will have content text