确定。所以我陷入了一个简单的境地。我想删除某些<li>
内的<ul>
元素,但要删除其data-*
属性。
我尝试了代码,但不知道为什么它不起作用。看看我的jsbin。
请说明我出错的地方(因为我需要从中学习)。
我知道这对你们来说都很容易......但是我无法理解...所以需要你的帮助。感谢..
我的代码:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<meta charset="utf-8">
<title>Example</title>
<script>
function deleteElement(id)
{
$("ul li").data("id", id).remove();
}
</script>
</head>
<body>
<ul>
<li data-id="3">3<input type="button" onclick="deleteElement(3)" value="delete"></li>
<li data-id="31">31<input type="button" onclick="deleteElement(31)" value="delete"></li>
<li data-id="32">32<input type="button" onclick="deleteElement(32)" value="delete"></li>
<li data-id="33">33<input type="button" onclick="deleteElement(33)" value="delete"></li>
<li data-id="41">41<input type="button" onclick="deleteElement(41)" value="delete"></li>
<li data-id="42">42<input type="button" onclick="deleteElement(42)" value="delete"></li>
<li data-id="43">43<input type="button" onclick="deleteElement(43)" value="delete"></li>
</ul>
</body>
</html>
答案 0 :(得分:8)
您可以按属性选择:
$("ul li[data-id=" + id + "]").remove();
答案 1 :(得分:2)
您可以使用attribute selector:
$('ul li[data-id="' + id + '"]').remove();
或过滤,如果您不想将变量连接到选择器:
$('ul li').filter(function(){
return $(this).data('id') == id;
}).remove();