美好的一天。
我的页面上有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
答案 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());});