<div id="tag<%=count++%>" value="val1">
<div id="tag<%=count++%>" value="val2">
<div id="tag<%=count++%>" value="val3">
jquery中的Onclick事件需要获取div的值。创建的确切div数是动态的
答案 0 :(得分:10)
您应该使用输入而不是div:
试试这个:
Html:
<input type="text" id="tag<%=count++%>" value="val1"/>
<input type="text" id="tag<%=count++%>" value="val2"/>
<input type="text" id="tag<%=count++%>" value="val3"/>
Jquery的:
$( document ).ready(function() {
$('input[id^="tag"]').on('click', function() {
alert(this.value);
});
});
使用div:
试试这个:
$( document ).ready(function() {
$('div[id^="tag"]').on('click', function() {
alert($(this).attr('value'));
});
});
答案 1 :(得分:4)
首先,value不是div的属性。
但你仍然可以使用它:
var value = $('div').attr('value')
获取ID属性,并使用它,您可以获取值:
$('#' + value).attr('id');
您可以将其用作变量,然后执行以下操作!
答案 2 :(得分:1)
您可以使用“Attribute starts with”选择器,然后使用this.id
:
$('div[id^="tag"]').on('click', function() {
alert(this.id); // Get the ID
alert($(this).attr('value')); // Get the value attribute
});
但是,您应该注意value
不是<div>
元素的有效属性。因此,最好使用data-value
,或使用<input>
代替。