如何在<;李>;用jQuery?
我有这样的想法:如何在<;李>;用jQuery?,jquery,jquery-selectors,Jquery,Jquery Selectors,我有这样的想法: <ul> <li> ... </li> <li> Office <table> ....... </table> </li> </ul> 但是它取代了我所有的(因此它也删除了表…)我知道这是正常的,但是如何只替换文本Office请?使用.contents和.eq只选择第一个节点 $("li:contains('Offic
<ul>
<li>
...
</li>
<li>
Office
<table>
.......
</table>
</li>
</ul>
但是它取代了我所有的
(因此它也删除了表…)我知道这是正常的,但是如何只替换文本Office
请?使用.contents
和.eq
只选择第一个节点
$("li:contains('Office')").contents().eq(0).replaceWith('<h3>Office</h3>');
$(“li:contains('Office')).contents().eq(0).替换为('Office');
示例:您可以使用获取
元素的所有直接子元素,并累积出现在
元素之前的文本节点
从这里,您可以使用在文本节点周围创建
元素:
var $contents = $("li:contains('Office')").contents();
var tableIndex = contents.index("table");
$contents.filter(function(index) {
return this.nodeType == 3 && index < tableIndex;
}).wrapAll("<h3>");
var$contents=$(“li:contains('Office'))”).contents();
var tableIndex=目录索引(“表格”);
$contents.filter(函数(索引){
返回this.nodeType==3&&index
var $contents = $("li:contains('Office')").contents();
var tableIndex = contents.index("table");
$contents.filter(function(index) {
return this.nodeType == 3 && index < tableIndex;
}).wrapAll("<h3>");