This question already has answers here:
jQuery Attribute selector with a period
(4个答案)
2年前关闭。
我想在列表中添加或删除
但第一行给出此错误:
语法错误,无法识别的表达式:
li [data-requestId = 6.22.20]
通过这种方式,upi确保选择器完全是
(4个答案)
2年前关闭。
我想在列表中添加或删除
li
。为此,我发现需要添加数据属性并找到具有该值的项目。if ($('li[data-requestId=' + requestId + ']').length == 0)
{
var element = getRequestElement();
var li = document.createElement("li");
li.setAttribute("data-requestId",requestId);
li.appendChild(element);
$('#requestsUL').append(li);
}
但第一行给出此错误:
语法错误,无法识别的表达式:
li [data-requestId = 6.22.20]
最佳答案
您好,这里是一种允许您基于ul
读取data-requestId
标记内的所有元素的方法。
我用一个变量将li[data-requestId=""]
与requestId
连接起来:
var dataSelector='li[data-requestId="' + requestId + '"]';
通过这种方式,upi确保选择器完全是
string
,因此在逻辑上将起作用。最后,这里是一个代码片段,演示了我所说的所有内容:$(function(){
var liSize=$("ul").children().length;
for(var requestId=1;requestId<=liSize;requestId++)
{
var dataSelector='li[data-requestId="' + requestId + '"]';
console.log($(dataSelector).text());
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li data-requestId=1>Item 1 </li>
<li data-requestId=2>Item 2 </li>
<li data-requestId=3>Item 3 </li>
<li data-requestId=4></li>
</ul>
10-06 11:32