Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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
Javascript 使用jquery按样式查找元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery按样式查找元素

Javascript 使用jquery按样式查找元素,javascript,jquery,html,Javascript,Jquery,Html,如何使用HTML文档的样式属性在其中查找元素? 以下是一个例子: HTML: e1 div e2 e3 e4 e5 问题是如何选择,例如:z-index=4的元素。 以及如何选择z-index=8的所有div。如果样式设置为内联,则可以使用属性选择器: $('li[style*="z-index:4"]') //returns any li's with z-index = 4 看。这种方法的优点是速度非常快 如果通过样式表设置样式,则可以通过以下方式访问: var elem; v

如何使用HTML文档的样式属性在其中查找元素? 以下是一个例子:

HTML:

  • e1
  • div
  • e2
  • e3
  • e4
  • e5
问题是如何选择,例如:
z-index=4的元素

  • 以及如何选择z-index=8的所有
    div

    如果样式设置为内联,则可以使用属性选择器:

     $('li[style*="z-index:4"]') //returns any li's with z-index = 4
    
    看。这种方法的优点是速度非常快

    如果通过样式表设置样式,则可以通过以下方式访问:

     var elem;
     var elems = $("li");
    
     for(var i=0; i<elems.length; i++) {
        if($(elems[i]).css('z-index') == '4') {
            elem = elems[i];  //assign elem we found
            break;            //exit loop early
        }
     }
    
    var元素;
    变量元素=$(“li”);
    
    对于(var i=0;i如果样式设置为内联,则可以使用属性选择器:

     $('li[style*="z-index:4"]') //returns any li's with z-index = 4
    
    看,这种方法的优点是速度非常快

    如果通过样式表设置样式,则可以通过以下方式访问:

     var elem;
     var elems = $("li");
    
     for(var i=0; i<elems.length; i++) {
        if($(elems[i]).css('z-index') == '4') {
            elem = elems[i];  //assign elem we found
            break;            //exit loop early
        }
     }
    
    var元素;
    变量元素=$(“li”);
    
    对于(var i=0;i没有样式选择器(它是如何工作的,样式是继承的和显式声明的规则的组合),但是您可以筛选():

    现在,如果您使用
    z-index
    将一段数据附加到HTML元素,您可能会更幸运地使用数据属性(更干净,并且可以通过Sizzle进行搜索)

    div
    
      e1 e2 e3 e4
    • e5
      • 警报($('[data id=4]')。文本() 警报($('[data id=8]')。文本()
    没有样式选择器(它是如何工作的,样式是继承的和显式声明的规则的组合),但是您可以筛选():

    现在,如果您使用
    z-index
    将一段数据附加到HTML元素,您可能会更幸运地使用数据属性(更干净,并且可以通过Sizzle进行搜索)

    div
    
      e1 e2 e3 e4
    • e5
      • 警报($('[data id=4]')。文本() 警报($('[data id=8]')。文本()

    我建议阅读jQuery选择器文档。
    $('li[style*=“z-index:4”]”)
    (顺便说一句,不要使用
    =
    而是
    来分离css属性和值)。我应该问一下,您是否正在使用z-Index将数据附加到HTML元素。如果是这样,为什么不仅仅是
    data
    属性,这就是它的设计目的:它与选择器一起工作。我建议您阅读jQuery选择器文档。
    $('li[style*=“z-Index:4”])
    (顺便说一句,不要使用
    =
    而是
    来分隔css属性和值)。我应该问一下,如果您使用z-Index将数据附加到HTML元素。如果是这样,为什么不仅仅是
    data
    属性,这就是它的设计目的:它与选择器一起工作。我冒昧地测试了这两个答案的性能,这一个是最快的。比使用
    .filter()快得多
    这仅适用于明确设置的样式属性(如问题中所述)。请参见此处:好的,再次^ ^,在分离文件中使用样式时如何执行?每个函数类似于for循环,但当它返回false时是否像跳过不匹配的元素???我冒昧地测试了这两个答案的性能,这一个是最快的。比使用
    .filter()快得多
    这仅适用于明确设置的样式属性(如问题中所述)。请参见此处:好的,再次^ ^,当在分离的文件中使用样式时如何执行?每个函数类似于for循环,但当它返回false时是否类似于跳过不匹配的元素???属性选择器包括
    *=
    ,它基本上测试样式属性是否包含字符串。在本例中,$(“li”)返回所有
    li
    元素,过滤器将遍历每个元素(
    $(此)
    表示单个
    li
    s)。如果条件的计算结果为true,则返回false。此解决方案比使用sizzle选择器引擎慢得多。它在其他方面也是不同的解决方案,它考虑通过样式表设置的z索引。在这种情况下,这可能不适用。属性选择器包括
    *=
    ,其中ly测试样式属性是否包含字符串。在本例中,$(“li”)返回所有
    li
    元素,过滤器将遍历每个元素(
    $(this)
    表示单个
    li
    s)。如果条件的计算结果为true,则会返回false。此解决方案比使用sizzle选择器引擎慢得多。它在其他方面也是不同的解决方案,需要考虑通过样式表设置的z索引。这种情况下可能不适用。
    <div data-id='8'>div</div>
    <ul>
      <li data-id='1'>e1</li>
      <li data-id='2'>e2</li>
      <li data-id='3'>e3</li>
      <li data-id='4'>e4</li>
      <li data-id='5'>e5</li>
    <ul>
    <script>
      alert($('[data-id=4]').text())
      alert($('[data-id=8]').text())
    </script>