将jss从jquery添加到具有指定类名和文本的元素

时间:2017-11-07 08:55:24

标签: javascript jquery css

我需要使用jQuery为我的页面中的某些元素设置css。 我无法修改html代码。 我需要为css元素设置span。 我有更多的跨度与class name相同,但有另一个文本。 我在跨度上有这些文字:阅读更多或加载更多。 我只需要使用Read More按钮添加css。

这是html

<div class="loop-entry-content clr">
    <header>
        <h2 class="loop-entry-title entry-title">
            <a href="http://staging.princetonpartners.com/organization-trapped-inside-legacy-box/">Is Your Organization Trapped Inside the ...</a>
        </h2>
    </header>

    <div class="loop-entry-excerpt entry clr">
        In my first job out of college, I worked as a Cobol programmer updating the computer ...<br>
        <span class="home_readmore"><a href="http://staging.princetonpartners.com/organization-trapped-inside-legacy-box/">Read more</a></span>
    </div>
</div>

这就是我的尝试:

 $('#readMore_button').addClass('home_readmore_button');

 $("span:contains('Read More')").parent().addClass("home_readmore_button");

第一个修改具有相同类的所有元素。第二个它什么也没做。谢谢!

2 个答案:

答案 0 :(得分:4)

:selector州的文档:

  

text:要查找的文本字符串。这是区分大小写

所以你需要:

$("span:contains('Read more')").parent().addClass("home_readmore_button");

$("span:contains('Read more')").parent().addClass("home_readmore_button");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="loop-entry-content clr">
        <header>
         <h2 class="loop-entry-title entry-title">
          <a href="http://staging.princetonpartners.com/organization-trapped-inside-legacy-box/">Is Your Organization Trapped Inside the ...</a>
          </h2>
        </header>

    <div class="loop-entry-excerpt entry clr">
              In my first job out of college, I worked as a Cobol programmer updating the computer ...<br>
         <span class="home_readmore"><a href="http://staging.princetonpartners.com/organization-trapped-inside-legacy-box/">Read more</a></span>
     </div>
 </div>

答案 1 :(得分:3)

您可以测试班级每个范围的文本,并在必要时添加css规则

$("span.className").each(function(){
    var text = $(this).text();
    if(text.toLowerCase() == 'read more'){
         $(this).addClass("home_readmore_button");
    }
});