2014-01-11 68 views
1
<div id="tag<%=count++%>" value="val1"> 
<div id="tag<%=count++%>" value="val2"> 
<div id="tag<%=count++%>" value="val3"> 

jQuery中的Onclick事件需要獲取div的值。創建的div的確切數字是動態的jquery從動態創建的div獲取id值

+1

如果你點擊'div',該'id'將始終爲'this.id'訪問。 – moonwave99

回答

9

您應該改用輸入的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

+0

@ user3035379:是否有效? –

+0

是的。有效。節省了我很多時間。感謝 – Sivadinesh

+0

@ user3035379:如果你有你的問題的解決方案,你應該接受一個答案:) –

0

您可以使用「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>代替可能會更好。

+0

工程就像一陣微風.. – Sivadinesh

+0

@ user3035379您可能想接受答案。 – BenM

4

首先,值不是div的屬性。

但你仍然可以使用這個:

var value = $('div').attr('value') 

獲得ID屬性,並使用,即可獲得價值爲:

$('#' + value).attr('id'); 

你可以使用它作爲一個變量,然後做什麼以至於!