我正在使用 JQuery 3.6.1,我正在嘗試使用 Jquery 獲取這些按鈕 1 和 2。
<div class="parent" role="dialog">
<div id="Dialog"/>
<div class="buttonPane">
<div class="buttonSet">
<button type="button" class="ui-button">Button 1</button>
<button type="button" class="ui-button">Button 2</button>
</div>
</div>
</div>
假設我無法對 HTML 進行任何更改,也無法將 id 添加到其他 div。我知道“Dialog” div 的 id 并想獲取上面 html 中存在的那 2 個按鈕。早些時候,當我們在 JQuery 2.2.4 版本中時,此代碼用于正確回傳這兩個按鈕:
var button_list = $("#Dialog").parent().find("button.ui-button.ui-button-text-only");
但是在 JQuery 升級后這已經停止作業。但看不到任何折舊警告或控制臺錯誤。因此想知道我在這里做錯了什么?
我嘗試了以下方法:
var button_list = $("#Dialog").parent("button.ui-button.ui-button-text-only");
但這行不通。我也嘗試過最接近、兄弟和其他功能,但它們都不起作用。這雖然有效:
var button_list = $(".buttonset").children(".ui-button");
雖然這似乎是解決問題的有效方法,但我只是好奇為什么父母在這種情況下不作業?
uj5u.com熱心網友回復:
看起來ui-button-text-only
該類已從此版本的按鈕中洗掉。從選擇器中洗掉它似乎有效:
var button_list = $("#Dialog").parent().find("button.ui-button");
console.log(button_list[0], button_list[1])
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent" role="dialog">
<div id="Dialog"/>
<div class="buttonPane">
<div class="buttonSet">
<button type="button" class="ui-button">Button 1</button>
<button type="button" class="ui-button">Button 2</button>
</div>
</div>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505409.html
標籤:javascript html jQuery
上一篇:React:我相信我有一個用于雙異步fetch呼叫的GOTCHA。一旦部分setState呈現,我單擊按鈕我再次單擊,然后呈現