Javascript通过id从变量中提取内容
我正在尝试使用普通java脚本提取变量中的内容。 我试图只获取部分id为的变量。 在本例中,我尝试只提取id为“container”的html的一部分 我的小提琴Javascript通过id从变量中提取内容,javascript,Javascript,我正在尝试使用普通java脚本提取变量中的内容。 我试图只获取部分id为的变量。 在本例中,我尝试只提取id为“container”的html的一部分 我的小提琴 var htmlPage=` 测试,但不是必需的 我想把整个街区都从家长那里拉出来 测试2 `; log(htmlPage.getElementById(“容器”)) console.log(document.getElementById(“容器”)) htmlPage是字符串而不是文档节点。但是,很容易将其放入其中: v
var htmlPage=`
测试,但不是必需的
我想把整个街区都从家长那里拉出来
测试2
`;
log(htmlPage.getElementById(“容器”))
console.log(document.getElementById(“容器”))
htmlPage是字符串而不是文档节点。但是,很容易将其放入其中:
var htmlPage=`
测试,但不是必需的
我想把整个街区都从家长那里拉出来
测试2
`;
//可能“不允许”在div中放置html标记,但它可以用于此目的。
var n=document.createElement('div');
n、 innerHTML=htmlPage;
var content=n.querySelector(“#container p:first child”).innerHTML;
控制台日志(内容)代码>如果您在浏览器中,可以使用DOMparser()
将其转换为真正的dom对象,然后可以调用要从中获取元素的方法
var htmlPage=`
测试,但不是必需的
我想把整个街区都从家长那里拉出来
测试2
`;
var parser=新的DOMParser();
var htmlDoc=parser.parseFromString(htmlPage,“text/html”);
log(htmlDoc.getElementById(“容器”))
console.log(htmlDoc.getElementById(“container”).innerHTML)
除非您将htmlPage
转换为DOM元素,否则它将无法工作。如果您认为HTML只是一个javascript字符串,那么就没有可以调用它的getElementById
方法。另外,还不清楚“拉”一个部件是什么意思。你是想在浏览器中还是在节点之类的地方这样做?还有其他拉子字符串的选项吗?我使用的是ajax调用,结果是html页面。我试图从该页面中只剪切一个块。还有DOMParser
,它表明DOMParser没有定义。我还需要添加其他内容吗?@Kurkula您在哪个浏览器上运行此功能?上面的snipper是否为您运行?我不确定这意味着什么…您不是在使用chrome查看JSFIDLE吗?我使用了var parser=new DOMParser();变量htmlDoc=。。。。使用var后,它开始工作。
var htmlPage = `
<html>
<div>
testing but not required
</div>
<div id="container">
<p>
i want to pull this whole block from parent
</p>
<p>
test 2
</p>
</div>
</html>`;
console.log(htmlPage.getElementById("container"))
console.log(document.getElementById("container"))