2011-03-07 68 views
1

好吧,所以我有一个mysql数据库用户名列表。但是,我需要从数据库的ID,所以我想这样的事情,jQuery的ID从列表项?

<li id='43'>Monica</li> 
<li id='47'>Henrik</li> 
<li id='77'>Eric</li> 

但我怎么能从列表中获得ID?

+0

是你的问题“如何从数据库中获取'li'元素的id?或“如何获得”李“元素的ID?” – 2011-03-07 15:04:14

+0

[ID和名称标记必须以字母(A-Za-z)开头,后面可以跟随任意数量的字母,数字(0-9),连字符(“ - ”),下划线(“_”),冒号(“:”)和句点(“。”)。](http://www.w3。org/TR/html4/types.html#h-6.2) – epascarello 2011-03-07 15:04:49

+0

不要用数字开始一个id。这里是选择ID的规则:http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html/79022#79022 – 2011-03-07 15:04:55

回答

0
$('li').each(function(){ 
    alert($(this).attr('id')); 
}); 
0

尝试通过你想读的ID列表项的索引项

$("li").eq(0).attr("id") 

替代0。

6

我会使用类似以下内容:

<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仍然需要唯一)。 43id对任何人都没有意义,但member-43更清晰。

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的覆盖单击事件。 roryf给了你很好的例子。

1

对的列表元素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> 

这为我工作!

0

你可以用相同的名字添加一个类的所有列表中的项目

<li class="test" id='43'>Monica</li> 
<li class="test" id='47'>Henrik</li> 
<li class="test" id='77'>Eric</li> 

然后,你可以在

$(".test").click(function(){ 
$(this).attr("id"); 
}); 
0

使用您可以使用HTML5数据属性,以便保持ID数据。

<li data-empid="A123" data-salary="120" class="datalist">Monica</li> 
<li data-empid="A124" data-salary="121" class="datalist">Monica</li> 

访问数据的数据属性jQuery的 - 如果你需要在某个地方静态地定义ID,因此不是最佳解决方案,您可以检查下面的代码在ID保存数据可能给问题

<script type="text/javascript"> 
$("li .datalist").click(function() {  
     $(this).data("salary") 
    }); 
</script>