我从其他页面读取了一个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>";
这里我需要获取标题和内容值。有什么办法吗?
答案 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)
除非您不将该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