Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用特定文本替换元素_Jquery - Fatal编程技术网

Jquery 用特定文本替换元素

Jquery 用特定文本替换元素,jquery,Jquery,我试图用特定文本更改所有dd,在本例中,将“颜色”从dd更改为dt元素 <dl> <dd><a>color</a></dd> <dd><a>green</a></dd> <dd><a>blue</a></dd> </dl> <dl> <dd><a&g

我试图用特定文本更改所有dd,在本例中,将“颜色”从dd更改为dt元素

   <dl>
    <dd><a>color</a></dd>
    <dd><a>green</a></dd>
    <dd><a>blue</a></dd>
   </dl>

   <dl>
    <dd><a>color</a></dd>
    <dd><a>red</a></dd>
    <dd><a>orange</a></dd>
   </dl>

颜色
绿色
蓝色
颜色
红色
橙色
最好的办法是什么

谢谢

尝试使用wrap()/unwrap()

$('dl-dd')。过滤器(函数(){
返回$.trim($(this).text())=='color'
}).wrapInner(“”).contents().unwrap()
演示:

$('dd')。每个(函数(){
if($.trim($(this).text())=='color')
$(this.replace为($(''+this.innerHTML+'');
});

选择元素并更改其文本。哪个部分给你带来麻烦?@onetrickpony它会进行部分搜索,因此如果另一个项目包含文本
红色
,它将与
:contains
$('dl dd').filter(function(){
    return $.trim($(this).text()) == 'color'
}).wrapInner('<dt />').contents().unwrap()
$('dd').each(function() {
    if ( $.trim($(this).text()) == 'color' ) 
        $(this).replaceWith($('<dt>' + this.innerHTML + '</dt>'));
});