该页面的HTML如下:多种形式,获取输入值
<div class="list-block media-list">
<ul>
<form method="post" action="">
<li >
<div class="item-content">
<div class="item-media">
<img width="80">
</div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Element title</div>
<div class="item-after">Unexcused</div>
</div>
<div class="item-subtitle">Subtitle</div>
<div class="item-text">Additional description text</div>
</div>
</div>
</li>
<input type="hidden" name="status" id="status" value="" />
<input type="hidden" name="client_id" id="client_id" value="23" />
</form>
<form method="post" action="">
<li class="red">
<div class="item-content">
<div class="item-media">
<img width="80">
</div>
<div class="item-inner">
<div class="item-title-row">
<div class="item-title">Element title</div>
<div class="item-after">Excused</div>
</div>
<div class="item-subtitle">Subtitle</div>
<div class="item-text">Additional description text</div>
</div>
</div>
</li>
<input type="hidden" name="status" id="status" value="" />
<input type="hidden" name="client_id" id="client_id" value="27" />
</form>
</ul>
</div>
这里是JS:
$(document).ready(function() {
$('.media-list li').on('click', function() {
var buttonValue = $(this).closest('#client_id').prop("value");
alert(buttonValue);
});
});
当我点击<li>
它应该以提醒client_id
的价值,但它始终是23
,如果我点击第一个<li>
,这是正确的数字。有没有其他方法可以解决这个问题?
HTML ID应该是唯一的 – 2014-09-03 13:06:17
**和**'.closest ()''做了你想做的事情:('。('。child')。closest('。parent')'返回匹配选择器'.parent'的'.child'的第一个祖先,如果有的话 – PeterKA 2014-09-03 13:09:04