[英]JQuery Tree Traversal - Goes Up Tree but not Down
我試圖使用$(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>
如果您等待$(document).ready()
之后再查找位於當前腳本下方的內容,它會很好地工作。
在這里工作:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <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"); // here is the change: $(document).ready(function() {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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.