好的,所以我有一个mysql数据库的用户名列表。但是,我需要数据库中的ID,所以我在想这样的事情,
<li id='43'>Monica</li>
<li id='47'>Henrik</li>
<li id='77'>Eric</li>
但是如何从列表中获取ID?
答案 0 :(得分:7)
我会使用以下内容:
<ul id="items-list">
<li id='member-43'>Monica</li>
<li id='member-47'>Henrik</li>
<li id='member-77'>Eric</li>
</ul>
然后:
$('#items-list li').each(function() {
var id = $(this).attr('id').split('-')[1];
});
在评论中指出as of HTML5使用数字启动id
属性是完全有效的,但我仍然优先考虑这种方法,特别是如果要有多个来自不同数据库表的页面上的列表(id
仍需要是唯一的)。 id
的{{1}}对任何人都没有意义,但43
更清晰。
答案 1 :(得分:1)
在list元素的click事件上有一个普通的javascript,如下所示:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
linkClicked = function (index) {
alert($('#myList li').get(index).id);
}
</script>
</head>
<body>
<ul id='myList'>
<li id='43' onclick="linkClicked($(this).index())">Monica</li>
<li id='47' onclick="linkClicked($(this).index())">Henrik</li>
<li id='77' onclick="linkClicked($(this).index())">Eric</li>
</ul>
</body>
</html>
这对我有用!
答案 2 :(得分:0)
$('li').each(function(){
alert( $(this).attr('id') );
});
答案 3 :(得分:0)
尝试
$("li").eq(0).attr("id")
用想要读取id的列表项的索引项替换0。
答案 4 :(得分:0)
你真的想用那个id做点什么吗?你给我们的数据太少了。 如果您想管理用户,则需要以下内容:
<ul id="deleteUsers">
<li id='user43'><a href="deleteuser.php?id=43">Monica</a></li>
<li id='user47'><a href="deleteuser.php?id=47">Henrik</a></li>
<li id='user77'><a href="deleteuser.php?id=77">Eric</a></li>
</ul>
并且比jQuery覆盖click事件。罗里夫给了你很好的榜样。
答案 5 :(得分:0)
您可以为所有列表项添加一个具有相同名称的类
<li class="test" id='43'>Monica</li>
<li class="test" id='47'>Henrik</li>
<li class="test" id='77'>Eric</li>
然后你可以使用on
$(".test").click(function(){
$(this).attr("id");
});
答案 6 :(得分:0)
您可以使用HTML5数据属性来保存ID数据。如果您需要在某个地方静态定义id,那么在ID中保存数据可能会产生问题,因此不是最佳解决方案您可以检查以下代码 -
<强> 强>
<li data-empid="A123" data-salary="120" class="datalist">Monica</li>
<li data-empid="A124" data-salary="121" class="datalist">Monica</li>
访问Jquery中数据属性中的数据
<script type="text/javascript">
$( "li .datalist" ).click(function() {
$(this).data("salary")
});
</script>