【问题标题】:If div class contains certain text then adjust css for that class only如果 div 类包含某些文本,则仅针对该类调整 css
【发布时间】:2017-11-01 12:12:13
【问题描述】:

我试图让这个 jQuery 脚本只将 css 应用于包含文本的类,而不是其他类。

如果类包含某个文本,我想将宽度限制为 100 像素,高度限制为 100 像素。

if ($('#targetID > div.targetClass:contains("Important Text")') {
        $('targetClass').css("width" , "100px").css("height" , "100px");
}

HTML 在这里:

   <div id="targetID">
    <div>
        <div class="targetClass">
            <a href="#">Not important</a>
        </div>
    </div>
    <div>
        <div class="targetClass">
            <a href="#">Not important</a>
        </div>
    </div>
    <div>
        <div class="targetClass">
            <a href="#">Important Text and Other Stuff</a>
        </div>
    </div>
    <div>
        <div class="targetClass">
            <a href="#">Not important</a>
        </div>
    </div>
   </div>

谢谢

【问题讨论】:

    标签: jquery html css contains


    【解决方案1】:

    :contains 是一个选择器,当您尝试使用它时它不会返回真/假。你可以随心所欲:

    $('#targetID div.targetClass:contains("Important Text")').css({
      "width": "100px",
      "height": "100px"
    })
    

    $('#targetID div.targetClass:contains("Important Text")').css({
      "width": "100px",
      "height": "100px"
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
     <div id="targetID">
        <div>
            <div class="targetClass">
                <a href="#">Not important</a>
            </div>
        </div>
        <div>
            <div class="targetClass">
                <a href="#">Not important</a>
            </div>
        </div>
        <div>
            <div class="targetClass">
                <a href="#">Important Text and Other Stuff</a>
            </div>
        </div>
        <div>
            <div class="targetClass">
                <a href="#">Not important</a>
            </div>
        </div>
       </div>

    【讨论】:

    • 这对我来说是行不通的,也不明白为什么,但我认为这不是你的代码,而是在我的网站上实现它。非常感谢您的回答。
    • 您应该能够看到上面的 sn-p 工作,所以如果它在您的网站上不起作用,您会收到任何错误吗?
    【解决方案2】:

    纯 JS 方法似乎是最稳定的:

    var el = document.getElementById("yourTagId")
    if (el.innerHTML.indexOf("Very cool text copy") !== -1) {
        // do something
    }
    

    【讨论】:

    • OP 使用的是:contains 而不是.contains(),您在哪里看到其中一个已被弃用?
    【解决方案3】:

    您可以在一行代码中完成,

    $("#targetID .targetClass:contains('Important Text')").css("width" , "100px").css("height" , "100px");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-24
      • 2011-09-12
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2021-10-31
      相关资源
      最近更新 更多