代码
<div class="something>
<input type="text onchange="some_function(this)">
<span>Blqh blqh</span>
<span>Blq blq</span>
</div>
输入发生变化后,我希望some_function(this)
删除所有<span>
标记。到目前为止,我所拥有的功能:
function some_function(x_this) {
var parent=x_this.parentNode;
}
如何获取所有<span>
元素并将其删除?
非常感谢
答案 0 :(得分:2)
function some_function(x_this) {
var parent=x_this.parentNode,
spans = parent.getElementsByTagName('span');
for (var i = 0; i < spans.length; i++){
parent.removeChild(spans[i]);
}
}
答案 1 :(得分:2)
使用以下 HTML ,例如
<div id="foo">
<input />
<span>Blqh blqh</span>
<span>Blq blq</span>
<br />
</div>
您可以运行此 JavaScript
var parent = document.getElementById('foo'), i = parent.childNodes.length;
while (i--)
if (parent.childNodes[i].tagName === 'SPAN')
parent.removeChild(parent.childNodes[i]);
答案 2 :(得分:0)
$('#parent').find('span').remove();
或使用纯粹的js
var childrenspan = document.getElementById('id').getElementsByTagName('span');
for(var i=0;i<childrenspan.length;i++)
{
childrenspan[i].parentNode.removeChild(childrenspan[i]);
}
答案 3 :(得分:0)
如果您使用 jquery ,请在您的Div标记中添加ID,然后
<div id="mydiv">
<input />
<span>Blqh blqh</span>
<span>Blq blq</span>
<br />
</div>
使用此jquery代码:
$('#mydiv').find('span').remove()