我正在使用一个使用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;
}
答案 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"]')