簡體   English   中英

jQuery選擇器,DIV中的所有跨度

[英]jQuery Selector, All Spans Within DIV

 $("#" + mainContent).children("span").replaceWith(function(){ return $(this).text(); });

使用上面的代碼行我似乎無法用文本值替換所有跨度。

html看起來像

<div id="bla" contenteditable="true">
<span> bla finds this one</span>
    <div>
        <span> doesnt find me </span>
    </div>
</div>

如何選擇div“bla”中的所有跨度並全部替換它們?

替換工作只是找不到。

使用.find [文件]代替.children 它尋找所有后代,而不僅僅是孩子。

查看所有不同遍歷方法的jQuery API: http//api.jquery.com/category/traversing/tree-traversal/

你可以試試:

$('span',"#" + mainContent).each(function(){this.html('Something Different')})

取決於你想要替換它們的東西。

jQuery的children()函數只匹配直接子節點。 在DOM結構的情況下,只有一個<span>元素是選擇器匹配的<div>的直接子元素。 如果要查找由選擇器匹配的元素層次結構下的所有元素,則需要使用find()在層次結構中執行搜索,或者您必須修改選擇器:

$('div span')匹配div下面的所有跨距以及DOM層次結構中的所有跨距。

$('div > span' )匹配DOM中div的所有直接跨度子節點。

使用.find()而不是.children():

$("#" + mainContent).find("span").replaceWith(function(){ return $(this).text(); });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM