从html获取纯文本,但希望使用javascript将title属性保留在select标记中
我正在尝试解析html标记,希望从TextArea1中给出的代码(而不是标题)中删除这些标记,并希望在单击按钮时在TextArea2中显示输出从html获取纯文本,但希望使用javascript将title属性保留在select标记中,javascript,html,Javascript,Html,我正在尝试解析html标记,希望从TextArea1中给出的代码(而不是标题)中删除这些标记,并希望在单击按钮时在TextArea2中显示输出 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <textarea id="
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<textarea id="TextArea1" rows="10" cols="100"></textarea><br /> //for input
<textarea id="TextArea2" rows="10" cols="100"></textarea><br /> //for output
<input id="Submit1" onclick="parsehtml()" type="submit" value="submit" />
<script>
function parsehtml()
{
var div = document.createElement("div"); //created a div
div.innerHTML = document.getElementById('TextArea1').value; //copied the source text as HTML into the div
for (let select of div.querySelectorAll("select")) select.remove(); //Lopped select tags inside the div and removed them
document.getElementById('TextArea2').value = div.innerText.replace(" ", " "); //Copied the result into the target
}
</script>
</body>
</html>
请帮助我删除所有..
及其
和innerText中的所有内容,但要保留标题属性值,请按如下方式输出:
Hello
World
Welcome //title of <select title=""> tag
你好
世界
欢迎//标签标题
您需要使用来解析和输出所需内容
函数parsehtml(){
让root=document.createElement(“div”);
root.innerHTML=document.getElementById(“TextArea1”).value;
let节点;
让输出=”;
让nodeIterator=document.createNodeIterator(root,NodeFilter.SHOW_ALL);
while((node=nodeIterator.nextNode()){
if(node.nodeType===node.TEXT\u node&&node.parentNode.tagName!=='OPTION'){
输出+=node.textContent;
}else if(node.nodeType===node.ELEMENT\u node){
if(node.hasAttribute(“title”)){
output+=node.getAttribute(“title”);
}
}
}
document.getElementById(“TextArea2”)。值=输出;
}
document.getElementById(“Submit1”).onclick=parsehtml代码>
你好
选项1
选择2
世界
选项11
选择22
//用于输出
谢谢,您的代码返回innerText,但我想删除innerText。正如我在输出中提到的。我只想保留标题属性值,如Opt1Opt2。并希望输出如下:这是标题在这种情况下,您可以再添加一个条件node.nodeType===node.TEXT\u node&&node.parentNode.tagName!='选项“
Hello
World
Hello
World
Welcome //title of <select title=""> tag