【问题标题】:is [data-empty] part of the browser environment是浏览器环境的 [data-empty] 部分
【发布时间】:2014-01-21 10:00:21
【问题描述】:

我正在玩一个使用 socket.io 的开源 node.js 项目。它有一些代码检查 $('[data-empty]' 的长度是否大于 0。虽然没有附加类或 id,但我认为从这个来看 data-empty 是标记中的某种元素,但是它不存在于应用程序使用的模板中。因此,我假设它是浏览器环境的一部分,但我找不到关于它的文档。您能解释一下 data-empty 发生了什么吗?它在检查什么数据?

if ($('[data-empty]').length > 0) {
        $('[data-empty]').first().attr('src', data.meat.chat.value.media).removeAttr('data-empty');
        return;
      }

【问题讨论】:

    标签: javascript jquery node.js socket.io


    【解决方案1】:

    它指的是一个属性data-empty

    所以查询正在寻找具有属性data-empty的所有元素

    例如:

    <div data-empty=42></div
    

    【讨论】:

      【解决方案2】:

      它检查是否有任何具有data-empty 属性的 HTML 标记。
      例如。 &lt;div data-empty="something"&gt;&lt;/div&gt; 会匹配!

      【讨论】:

        【解决方案3】:
        if ($('[data-empty]').length > 0) 
        

        实际上是指'如果存在任何具有 data-empty 属性的元素'

        因此,在以下文档中,代码将运行

        <body>
            <div data-empty="true"></div>
            <div data-empty="false">foo</div>
            <div data-empty></div>
        </body>
        

        在这个过程中,它不会

        <body>
           <div></div>
        </body>
        

        您也可以通过类似的方式选择具有特定属性值的元素,例如:

        $('[data-empty="true"]')$('input[type="text"]')

        【讨论】:

          猜你喜欢
          • 2014-07-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-17
          • 1970-01-01
          • 1970-01-01
          • 2018-01-10
          相关资源
          最近更新 更多