Javascript 使用jQuery时,列表项值始终为0

Javascript 使用jQuery时,列表项值始终为0,javascript,jquery,html,list,Javascript,Jquery,Html,List,使用按钮的值填充文本区域的按钮页面 这适用于按钮项,但不能用于列表项 我必须使用列表项,因为有些按钮有下拉列表 JSFIDLE显示列表项,即使它确实有值,也会向0发出警报 value不是li元素的有效属性(除非它位于ol中,但鉴于您的问题以及您拥有的属性值是字符串而不是数字这一事实,这似乎不太可能),该标记类型的domeElement也没有value属性 向标记中添加非标准属性将导致页面无效,并可能导致JS和UI问题。如果要创建自定义属性,请使用data-*: <li class="it

使用按钮的值填充文本区域的按钮页面

这适用于按钮项,但不能用于列表项

我必须使用列表项,因为有些按钮有下拉列表

JSFIDLE显示列表项,即使它确实有值,也会向0发出警报


value
不是
li
元素的有效属性(除非它位于
ol
中,但鉴于您的问题以及您拥有的属性值是字符串而不是数字这一事实,这似乎不太可能),该标记类型的domeElement也没有
value
属性

向标记中添加非标准属性将导致页面无效,并可能导致JS和UI问题。如果要创建自定义属性,请使用
data-*

<li class="item_value" data-value="value">
    <a href="#">Click</a>
</li>
元素没有
属性。但是,如果您仍然希望获得它,请使用以下方法:


列表项
  • 有一个
    值,但它只接受数字(注意它们应该在
    中)。您给出了一个字符串(至少解释为0),例如:

    <li class='item_value' value='1010'>
        <a href='#' value="test">Click</a>
    </li>
    

  • 将显示为值
    1010
    。您可以通过添加
    data-
    属性来解决此问题:
    data value=“someStringHere”
    刚刚将
    this.value
    修改为
    $(this.attr('value')

    因此,完整的代码:

    $(".item_value").on('click',function(){
        alert($(this).attr('value'));
    });
    

    希望有助于

    抱歉,我没有正确使用您的JSFIDLE,删除了DOWNDOVE(和评论)-和UPVOTE;-)
    $( this ).attr( 'value' );
    
    <li class='item_value' value='1010'>
        <a href='#' value="test">Click</a>
    </li>
    
    $(".item_value").on('click',function(){
        alert($(this).attr('value'));
    });