jquery从动态创建的div中获取id值

时间:2014-01-11 16:23:16

标签: jquery html

<div id="tag<%=count++%>" value="val1">
<div id="tag<%=count++%>" value="val2">
<div id="tag<%=count++%>" value="val3">

jquery中的Onclick事件需要获取div的值。创建的确切div数是动态的

3 个答案:

答案 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);
 });
});

Live demo

使用div:

试试这个:

$( document ).ready(function() {
 $('div[id^="tag"]').on('click', function() {  
    alert($(this).attr('value'));
 });
});

demo

答案 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
});

jsFiddle Demo

但是,您应该注意value不是<div>元素的有效属性。因此,最好使用data-value,或使用<input>代替。