如何获取子输入值;来自其父div的点击事件 -
动态HTML
<div class="tableRowOdd">
<input type="hidden" value="28">
04/11/2012
</div>
JS
$('#historyContainer .tableRowOdd').live( 'click', function(e) {
// Here I want to get the hidden-input's value directly
// something like- $(this+'input').val()
console.log( $(this) );
});
不想从 $(this).html()
进行字符串操作请帮忙。
答案 0 :(得分:3)
$('#historyContainer .tableRowOdd').live( 'click', function(e) {
console.log( $(this).find('input').val() ); // or .text()
});
请注意,这将遍历所有输入。如果你只想要第一个:
$('#historyContainer .tableRowOdd').live( 'click', function(e) {
console.log( $(this).find('input').first().val() ); // or .text()
});
答案 1 :(得分:2)
$(this).find('input').val()
应该返回值。
注意:如果您使用的是jQuery 1.7或使用.on
旧版本,请使用.delegate
。 .live
不是首选功能。
对旧版本使用.delegate
,
$('#historyContainer').delegate('.tableRowOdd', 'click', function(e) {
$(this).find('input').val()
console.log( $(this) );
});
使用.on
对于jQuery 1.7,
$('#historyContainer').on('click', '.tableRowOdd', function(e) {
$(this).find('input').val()
console.log( $(this) );
});
答案 2 :(得分:2)
可以通过jQuery实现:
$('#historyContainer .tableRowOdd').live( 'click', function(e) {
// if you have more inputs and wanna get the hidden
console.log( $(this).find('input[type="hidden"]').val() );
});
答案 3 :(得分:1)
你可以这样做;
$(this).find('input').val()