gpt4 book ai didi

javascript - 获取占位符文本的父节点

转载 作者:行者123 更新时间:2023-11-30 12:54:10 25 4
gpt4 key购买 nike

我正在尝试在文档中查找占位符文本(占位符如下所示:{{Placeholder}}),然后获取它所属的节点,然后将属性添加到节点。到目前为止,我能够找到占位符,但我不知道它属于哪个元素。当前代码将 I am here 写入控制台 3 次,因为它位于 3 个节点中:htmlbodyh1。如何获取项目的实际父节点?

JavaScript:

function getPlaceholders(){
var elements = document.getElementsByTagName("*");
for(var e in elements){
var element = elements[e];
var html = element.innerHTML;
if(html && (matches = html.match(/{{(.+)}}/g))){
console.log("I am here");
}
}
}

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>Hello {{name}}!</h1>
</body>
</html>

最佳答案

这有效:(代码来自 here)

function getPlaceholders(){
var elements = document.getElementsByTagName("*");
for(var e in elements){
var element = elements[e];
child = element.firstChild,
texts = [];

while (child) {
if (child.nodeType == 3) {
texts.push(child.data);
}
child = child.nextSibling;
}

var html = texts.join("");
if(html && (matches = html.match(/{{(.+)}}/g))){
console.log(html);
}
}
}

http://jsfiddle.net/wumm/2VjVa/ (忽略第一条日志,它只是jsfiddle的构建方式)

关于javascript - 获取占位符文本的父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19863772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com