2012-09-28 64 views
1

我想清除div范围内的span范围,而不删除其他内容仅范围的内容。如何清除div内的span范围

例如: 体:

<div id="content"> 
    <span>one</span> 

    <input type="text" /> 
    <input type="text" /> 

    <span>two</span> 
    <span>three</span> 

    <select> 
     <option selected="selected" value=""></option> 
     <option value="Monday">Monday</option> 
     <option value="Tuesday">Tuesday</option> 
     <option value="Wednesday">Wednesday</option> 
     <option value="Thursday">Thursday</option> 
     <option value="Friday">Friday</option> 
     <option value="Saturday">Saturday</option> 
     <option value="Sunday">Sunday</option> 
    </select> 
</div> 

脚本:

<script type="text/javascript"> 
function restSel() { 
    document.getElementById("#content span").innerHTML=""; 
}; 
</script> 

清除所有spans或全部spans的内容。

+1

我没有时间真的给你写一个完整的答案,但我会说这个;你目前对document.getElementById的使用是完全错误的;它接受一个没有特殊标记的标准字符串,甚至没有spac ES。即使如此,它只接受一个字符串。你目前没有两个;你现在有更接近jQuery的标记。 – Daedalus

回答

7

如果你使用的是JQuery(这会给你带来很多乐趣),那么你可以这样做。

$("span").html(""); 
+0

OH F ** K! JOY〜!!!!谢谢 !! – telexper

+0

将在8分钟后点击! – telexper

5

如果你只使用纯JS,你可以试试这个:

document.getElementById("content").getElementsByTagName("span")[0].innerHTML=""; 

可以更换0任何有效的索引,以清除某些span

1

好吧,我撒谎我猜。这比我想象的要简单得多,感谢@Passerby;

for (i = 0; i < document.getElementById('content').getElementsByTagName('span').length; i++) { 
    document.getElementById('content').getElementsByTagName('span')[i].innerHTML = ''; 
} 
1

使用jQuery: 要只针对跨度,在您的DIV与ID = “内容”(如果你有其他文档中跨越

$('div#content').find('span').html('');

+0

你应该指定以上是jquery。 – Daedalus

+0

对不起。我认为OP会意识到这一点。更新了我的答案。 – RRikesh