Jquery - 点击li时如何获得价值ul?

时间:2013-05-23 06:48:24

标签: jquery html-lists

美好的一天。

我的页面上有ul列表。 当我点击ul时,我需要获得价值li

HTML:

.ddlist {
position: absolute;
width: 316px;
display: none;
background-color: #fff;
border: 1px solid #ccc;
border-top: none;
margin: 0;
padding: 0;
margin-top: -3px;
}

.ddlist li {
list-style: none;
padding: 5px;
}


<ul id="list_t_railway" class="ddlist" style="display: block;">
   <li>Белорусский вокзал</li>
   <li>Казанский вокзал</li>
   <li>Киевский вокзал</li>
</ul>

对于获取值ul,我使用脚本:

$("#list_t_railway").on("click", function(){
      alert($(this).val());

    });

但我得到空值......

请告诉我为什么我会得到空值以及如何正确写作?

P.S。:所有测试脚本都可以看到 here

5 个答案:

答案 0 :(得分:12)

如果您想alert li元素的内容,可以在所有li元素上添加点击处理程序。

$("#list_t_railway li").on("click", function(){
  alert($(this).text());

});

更新了小提琴:http://jsfiddle.net/t7ruw/2/

答案 1 :(得分:2)

li元素没有value,因此.val()不会返回任何内容。此外,没有事件处理程序绑定到<li>元素本身:

$("#list_t_railway li").on("click", function(){
  alert($(this).text());
});

答案 2 :(得分:2)

试试这个会给你相同的输出

$(document).on("click","#list_t_railway li", function(){
  alert($(this).text());
});

答案 3 :(得分:0)

如果你想得到ul值,那就用吧。

$("ul#list_t_railway li").on("click", function(){
 alert($("ul#list_t_railway").text());

});

答案 4 :(得分:0)

$("#list_t_railway li").on("click", function(){alert($(this).html());});