使用按钮的值填充textarea的按钮页面。
这适用于作为按钮的项目,但无法使其适用于列表项目。
我必须使用列表项,因为某些按钮有一个下拉列表。
jsfiddle显示列表项警告0甚至认为它确实有值。
<li class='item_value' value='value'>
<a href='#'>Click</a>
</li>
<br><br>
<button type='button' class='btn btn-success item_value' value='value2'>Click 2</button>
jQuery:
$(".item_value").on('click',function(){
alert(this.value);
});
答案 0 :(得分:7)
value
不是li
元素的有效属性(除非它位于ol
中,但鉴于您的问题以及您拥有的属性的价值,这似乎不太可能字符串不是数字),该标记类型的DOMElement也不具有value
属性。
向标记添加非标准属性会使页面无效,并可能导致JS和UI问题。如果要创建自定义属性,请使用data-*
:
<li class="item_value" data-value="value">
<a href="#">Click</a>
</li>
$('.item_value').on('click', function(){
alert($(this).data('value')); // = 'value'
});
答案 1 :(得分:4)
答案 2 :(得分:2)
列表项<li>
有一个value
,但它只需要数字(注意它们应该在<ol>
中)。你给了一个字符串(解释为0),例如:
<li class='item_value' value='1010'>
<a href='#' value="test">Click</a>
</li>
将显示为1010
的值。您可以通过添加data-
属性来解决此问题:data-value="someStringHere"
答案 3 :(得分:2)
刚刚将您的this.value
修改为$(this).attr('value')
。
所以完整的代码:
$(".item_value").on('click',function(){
alert($(this).attr('value'));
});
希望能帮助