【问题标题】:JQuery selector for inline style property内联样式属性的 JQuery 选择器
【发布时间】:2009-04-14 20:17:50
【问题描述】:

我想使用 jquery 来选择以下范围:

<span id="RequiredFieldValidator1" class="validationerror" style="color: Red; display: none;">*</span>

但不要选择下面的 span,它与原来的不同之处在于 style 属性有一个 display 属性,其值为 inline 而不是 none。

<span id="RequiredFieldValidator2" class="validationerror" style="color: Red; display: inline;">*</span>

我知道内联样式是邪恶的,但一个 asp.net 网络表单验证器控件正在生成它,并做了很多好事和坏事。

这可以使用 jquery 选择器来完成吗?我是 jquery 的新手。

【问题讨论】:

    标签: asp.net jquery


    【解决方案1】:
    $("span[style*=inline]")
    

    将选择所有带有 style 属性的 span 元素,其中某处的值为“inline”。

    【讨论】:

    • 感谢您的快速回复,您实际上回答了我的问题,但其他解决方案更优雅。
    • 这不起作用 *
    • 当我将 inline 放在引号中时它对我有用:$("span[style*='inline']")
    【解决方案2】:

    试试这样的:

    $('.validationerror:hidden')
    

    【讨论】:

    • 谢谢!这帮助我弄清楚了如何选择表格中第一个隐藏的 tr 元素。实际上,令我惊讶的是隐藏选择器适用于显示属性。我假设它仅用于可见性属性。
    【解决方案3】:

    我这样做是为了向验证错误控件的父级添加\删除错误样式,以突出显示导致错误的控件和验证消息。

    $('input').change(function() {
      $(".validationError[style*=hidden]").parent().removeClass("error");
      $(".validationError[style*=visible]").parent().addClass("error");
    });
    

    【讨论】:

      【解决方案4】:

      这里也是选择服务器端控件的建议

      document.getElementById("<%=txtFirstName.ClientID %>"); 
      

      $("#'<%=txtFirstName.ClientID %>'"); 
      

      $("[id$='_txtFirstName']"); 
      

      【讨论】:

        【解决方案5】:

        在类中嵌入样式,你有 2 个使用 JQuery 选择器的类

        $(".<ClassName>")
        

        【讨论】:

          猜你喜欢
          • 2012-01-15
          • 1970-01-01
          • 2015-12-13
          • 2017-09-27
          • 1970-01-01
          • 2016-04-06
          • 2017-10-05
          • 2014-09-27
          • 2018-06-29
          相关资源
          最近更新 更多