用id替换div中的文本,但在其中排除div

时间:2017-02-03 14:48:14

标签: jquery

我使用jQuery替换 public var varItemOne = itemOne; public var varItemTwo = itemTwo; public var varItemThree = itemThree; div中的文本字符串,同时排除任何类#content的div。

替换任何.testimonialsCode div而不管哪个类都有效:

#content

问题在于:

替换任何 $("#content:contains('I will')").each(function() { var replaced = $(this).html().replace(/I will/g, " We will "); $(this).html(replaced); }); div,同时排除任何类#content的div不起作用。

.testimnalsCode

附加信息:在HTML结构中.testimonialsCode是div和#content的子节点,它是页面的主要div ...

3 个答案:

答案 0 :(得分:0)

试试这个:使用jquery select Links.ShortURL, Links.LongURL, min(Domain.tag) from Links left outer join Domain on Links.LongURL like concat(Domain.url, '%') group by Links.ShortURL, Links.LongURL 获取子元素的长度,如果length为0,则替换文本

.find()

注意:ID在DOM中应该是唯一的

答案 1 :(得分:0)

基于您创建的小提琴:以下代码可以使用,注意我更改了HTML

<强> HTML

    <div id="content"> <span>I will</span>
  <br/>
  <span class="testimonialsCode">I will</span>
  <br/>
  <span>I will</span><br>
 <span>I will</span>
</div>

<强> JS

$(document).ready(function(){
 $("#content span:contains('I will')").each(function(){
       if(!$(this).hasClass('testimonialsCode')){
            var replaced = $(this).html().replace(/I will/g, " We will ");
$(this).html(replaced);

     }

 });

});

因此,请确保content div具有span = {I}的html子元素,并且它将起作用。

因此脚本会查找id为content的元素中的所有span元素,其中包含我将的html然后它遍历每个找到的元素并检查该元素是否没有类名为testimonials,然后用您想要的html替换html。

答案 2 :(得分:0)

您不必使用包含且:not(.testimonialsCode);正确的运算符也可以使用find()运算符。
这是一个例子。

$("#content").find(':not(.testimonialsCode)').each(function() {
    var replaced = $(this).html().replace(/I will/g, " We will ");
    $(this).html(replaced);
});

另外,here是你答案的小提琴。