我正在尝试使用 $(document.currentScript)
从脚本标记向上遍历树,然后向下遍历树,选择输入元素。我已经尝试了很多从树上下来的变体,但它们似乎都不起作用。我能够获得顶部的 div,$(document.currentScript).closest("div").parent("div")
但运气不好
<div id="p9t2c13">
<div class="control">
<label for="c13">
<h3> HiddenInstanceId </h3>
<p>
<script>
if (typeof counter == "undefined") {
counter = 0;
}
counter++;
var test = $(document.currentScript).closest("div").parent("div");
console.log($(test).find("input"))
</script>
</p>
</label>
<p class="ctrlinvalidmessage"></p>
<fieldset>
<div class="input text">
<input id="c13" type="text" name="c13" value="" maxlength="1000">
</div>
</fieldset>
</div>
</div>
最佳答案
听起来您可能有解决方案,但这是使用基本相同代码的另一种方法。您将当前脚本值存储在一个变量中,然后在准备好文档的回调中引用它:
<div id="p9t2c13">
<div class="control">
<label for="c13">
<h3> HiddenInstanceId </h3>
<p>
<script>
(function(){
var thisScript = $(document.currentScript);
$(function(){
var test = thisScript.closest("div").parent("div");
console.log($(test).find("input"))
});
})();
</script>
</p>
</label>
<p class="ctrlinvalidmessage"></p>
<fieldset>
<div class="input text">
<input id="c13" type="text" name="c13" value="" maxlength="1000">
</div>
</fieldset>
</div>
</div>
关于javascript - JQuery 树遍历 - 上树而不是下树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40731666/