我有一个带有li元素的无序列表。当我点击列表中的特定项目时,我想提取该项目的值并使用它。在下面的示例中,我想提取值“9”。
我如何在jQuery中执行此操作?
<li sequence="1" title="Category 1" class="liEllipsis selSubCategories" value="9">
<a href="#">
<span class="viewIcons delFaceName _delete fl"></span>
Category 1
</a>
</li>
答案 0 :(得分:3)
首先,li
元素上没有data-*
属性,添加非标准属性意味着您的网页无效。相反,请使用<li data-sequence="1" title="Category 1" class="liEllipsis selSubCategories" data-value="9">
<a href="#">
<span class="viewIcons delFaceName _delete fl"></span>
Category 1
</a>
</li>
属性:
click
然后,您可以挂钩a
元素的data
事件,并从其父li
获取$('li a').click(function(e) {
e.preventDefault();
var value = $(this).closest('li').data('value'); // = 9
// do something with the value here...
});
属性,如下所示:
666
12345
答案 1 :(得分:2)
li
没有value属性。使用数据值,如下所示:
<li sequence="1" title="Category 1" class="liEllipsis selSubCategories" data-value="9">
<a href="#">
<span class="viewIcons delFaceName _delete fl"></span>Category 1</a></li>
然后使用:
$('li.liEllipsis').click(function(e) {
e.preventDefault();
var value = $(this).attr('data-value');
});
答案 2 :(得分:1)
请勿在{{1}}上使用value
。 无效!相反,您可以使用<li>
或类似的东西。使用这种方式:
data-value
<强>段强>
$("li").click(function () {
alert($(this).attr("value"));
});
&#13;
$(function () {
$("li").click(function () {
alert($(this).attr("value"));
});
});
&#13;
答案 3 :(得分:0)
您可以为li元素编写单击处理程序,然后获取其属性值。同样s.prop55='some value';
s.events = 'event1=5,event2';
s.linkTrackEvents = 'event1,event2';
s.linkTrackVars = 'events,prop55';
也不是li元素的有效属性。但HTML5允许您使用以value
开头的自定义属性。您可以使用data-
等值属性。
data-value
然后使用<li sequence="1" title="Category 1" class="liEllipsis selSubCategories" data-value="9">
<a href="#">
<span class="viewIcons delFaceName _delete fl"></span>Category 1</a>
</li>
:
.data()
答案 4 :(得分:0)
来晚了一点,但这对少数人有帮助。
li标签尚未缝制value属性,但您仍然可以使用提供的dataset
功能。例如:
<li sequence="1" title="Category 1" class="liEllipsis selSubCategories" value="9">
<a href="#">
<span class="viewIcons delFaceName _delete fl"></span>
Category 1
</a>
</li>
提取li的值:
$('li').click(function(){
alert($(this).dataset.value);
})
我已经在香草javascript中使用了它,应该也可以很好地用于jquery。