我正在尝试更改h1
标记的文字,而不是其他内部html
的文字。这是我的代码
document.getElementById("wpbody-content").getElementsByClassName("wrap")[0].getElementsByTagName('h1')[0].innerHTML = 'Candidate Application Forms';
HTML代码
<div id="wpbody-content">
<div class="wrap">
<h1>All Forms <a class="title-action" href="">Add New</a></h1>
</div>
</div>
我只需要更改标记内的其他<h1>All Forms</h1>
文字。
我需要在没有jQuery
答案 0 :(得分:2)
插入一个额外的跨度:
<div id="wpbody-content">
<div class="wrap">
<h1><span id="allForms">All Forms</span> <a class="title-action" href="">Add New</a></h1>
</div>
</div>
然后用:
操纵它document.getElementById('allForms').innerHTML = 'Candidate Application Forms';
答案 1 :(得分:1)
将所有表单放在包含
的ID的范围内<span id="spanId">All Forms </span>
现在更改带有id
的span的内容答案 2 :(得分:1)
如果你想要这样做而不改变HTML:
但最好的方法可能是将All Forms
包装成一个元素,然后更改它。
var elt = document.getElementById("wpbody-content")
.getElementsByClassName("wrap")[0].getElementsByTagName('h1')[0];
elt.innerHTML = 'Candidate Application Forms ' + elt.children[0].outerHTML;
&#13;
<div id="wpbody-content">
<div class="wrap">
<h1>All Forms <a class="title-action" href="">Add New</a></h1>
</div>
</div>
&#13;
答案 3 :(得分:0)
这取决于wrap-html标记中的 HTML ,您可以在replace
字符串上使用javascript innerHTML
函数,使用简单的正则表达式,如{{1 }}
/<h1>[^<]*/
匹配“&lt; h1&gt; ...直到下一个更少的符号(/<h1>[^<]*/
)”
这是一个例子:
<
var newHeader = 'Candidate Application Forms'
var htmlValue = document.getElementById("wpbody-content").getElementsByClassName("wrap")[0].innerHTML;
document.getElementById("wpbody-content").getElementsByClassName("wrap")[0].innerHTML =
htmlValue.replace(/<h1>[^<]*/,"<h1>" + newHeader);
// Tested with Win7 on Chrome 46+
答案 4 :(得分:0)
每个文本块实际上都是TextNode。你可以想象你的HTML:
<h1>
<text data="All Forms" />
<a class="title-action" href="">
<text data="Add New" />
</a>
</h1>
您可以使用HTMLElement.childNodes
属性访问这些元素:
var children = elm.childNodes;
for(var i=0,l=children.length; i<l; i++) {
if(children[i] instanceof Text)
return children[i];
}
HTMLElement.children
是没有Text
个节点的列表。
答案 5 :(得分:0)
您只需要为元素添加一个ID,然后就可以根据需要进行更改。
document.getElementById("change").innerHTML="it is changed";
<div id="wpbody-content">
<div class="wrap">
<h1 id="change">All Forms <a class="title-action" href="">Add New</a></h1>
</div>
</div>
答案 6 :(得分:-3)
如果您不想更改文档的当前结构,建议您仅更改H1节点的第一个孩子:
0.13.3