是[data-empty]浏览器环境的一部分

时间:2014-01-03 16:48:27

标签: javascript jquery node.js socket.io

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

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

3 个答案:

答案 0 :(得分:0)

指的是属性data-empty

因此查询正在查找属性为data-empty

的所有元素

例如:

<div data-empty=42></div

答案 1 :(得分:0)

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

答案 2 :(得分:0)

if ($('[data-empty]').length > 0) 

实际上意味着&#39;如果存在具有data-empty属性的任何元素&#39;

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

<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"]')