我认为将 DOM 元素作为上下文添加到 JQuery 方法会限制该方法仅查看该元素及其后代而不是整个文档。如果是这种情况...
为什么会这样:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script src="jquery-2.0.2.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="styles.css"/>
<script type="text/javascript">
$(document).ready(function() {
var contextElem = document.getElementById("row1");
$("img").closest(".drow", contextElem).each(function(index, elem) {
console.log("Context Element: " + elem.tagName + " " + elem.className
+ " " + elem.id);
});
});
</script>
</head>
<body>
<h1>JQuery Closest Example</h1>
<form method="post">
<div id="oblock">
<div class="dtable">
<div id="row1" class="drow">
<div class="dcell">
<img src="cell11.png"/><label for="cell11">Cell 1 1:</label>
<input name="cell11Value" value="0" required>
</div>
<div class="dcell">
<img src="cell12.png"/><label for="cell12">Cell 1 2:</label>
<input name="cell12Value" value="0" required >
</div>
</div>
<div id="row2"class="drow">
<div class="dcell">
<img src="cell21.png"/><label for="cell21">Cell 2 1:</label>
<input name="cell21Value" value="0" required>
</div>
<div class="dcell">
<img src="cell22.png"/><label for="cell22">Cell 2 2:</label>
<input name="cell22Value" value="0" required >
</div>
</div>
</div>
</div>
<div id="buttonDiv"><button type="submit">Save</button></div>
</form>
</body>
</html>
J
结果在控制台中:
上下文元素:DIV 卓尔 row2
取而代之的是:
上下文元素:DIV 卓尔 row1
???
最佳答案
传入上下文意味着 jQuery 将寻找您的选择器作为 context
的后代。在您的情况下,您的选择器和 context
是相同的元素。
关于javascript - 与上下文最接近的 JQuery 2.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21119398/