如何在jQuery中获取元素值

22

为什么它没有返回'li'内的值?我做错了什么吗?

$("#list li").click(function() {
    var selected = $(this).val();
    alert(selected);
})

你想要做什么?你的HTML列表是什么样子的? - markt
9个回答

59

您想获取包含在li标签内的HTML或文本吗?

如果是这样,请使用以下任一选项:

$(this).html()

或:

$(this).text()

val() 方法适用于表单字段。


"form fields" 是什么意思?你能给我一个例子吗?谢谢。 - stack

7
<ul id="unOrderedList">
<li value="2">Whatever</li>
.
.



 $('#unOrderedList li').click(function(){
      var value = $(this).attr('value');
     alert(value); 
  });

你需要在“li”标签内找到属性“value”。

3
使用 .text() 或 .html() 方法。
$("#list li").click(function() {
        var selected = $(this).text();
        alert(selected);
});

2

li元素没有值。只有与表单相关的元素,如input、textarea和select才有值。


2
很可能,你想要这样的东西:
$("#list li").click(function() {
        var selected = $(this).html();
        alert(selected);
});

1
  <div class="inter">
      <p>Liste des Produits</p>
      <ul>
          <li><a href="#1">P1</a></li>
          <li><a href="#2">P2</a></li>
          <li><a href="#3">P3</a></li>
      </ul>
  </div>

        $(document).ready(function(){
            $(".inter li").bind(
            "click", function(){
                alert($(this).children("a").text());
            });
        });

1

您可以使用jQuery on() 来实现相同的功能。

$("#list").on('click','li',(function() {
    var selected = $(this).text();   //or .html()
    alert(selected);
})

0
$("#list li").click(function() {
        var selected = $(this).html();
        alert(selected);
});

0
获取li的值,我们应该使用 $(“#list li”)。click(function(){ var selected = $(this).html();

或者

var selected = $(this).text();

alert(selected);

})


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接