我有以下设置
HTML:
<div class="prod-inner">
<div class="number-wrapper">
<input type="text" name="updates[]" id="testID" value="1" >
</div>
</div>
JQuery:
$('.number-wrapper input[id=testID]').closest('prod-inner');
期望返回实际div,如下所示:
<div class="prod-inner">
<div class="number-wrapper">
<input type="text" name="updates[]" id="testID" value="1" >
</div>
</div>
但相反,它返回以下内容:
init [div.prod-inner, prevObject: init(1), context: document, selector: ".number-wrapper input[id=updates_36213941315].closest(.prod-inner)"]
发布于 2018-06-09 03:10:10
您需要使用class在closest中选择元素。它不会自动返回为一个类,因为jquery不知道它是否是最接近的class、id或其他元素对象:
$('.number-wrapper input[id="testID"]').closest('.prod-inner');
// wrap with double quotes ^^ | class selector ^.
此外,您可以直接使用id,因为它是唯一的:
$('#testID').closest('.prod-inner');
如果您生成了动态id,如我看到的id=updates_36213941315
,那么您可以使用attribute contains selector
$('[id*="36213941315"]').closest('.prod-inner');
$('[id^="updates_"]').closest('.prod-inner');
https://stackoverflow.com/questions/50766956
复制相似问题