簡體   English   中英

無法獲取具有特定ID的元素作為“數據父級”屬性

[英]Can't get elements with specific id as attribute 'data-parent'

我有一個這樣的元素

<input type="checkbox" data-parent="0" value="1229">

我想獲取所有帶有數據父項的復選框,其值為N。

這是我在點擊事件處理程序方法中嘗試過的方法。

checkChildren = function (id) {
    var cbs = $(input[type="checkbox"][data-parent=id]);
}

但是'data-parent = id'附近有一些語法錯誤

您的CSS選擇器錯誤。 更改為:

var cbs = $('input[type="checkbox"][data-parent="' + id + '"]');

您需要將字符串選擇器傳遞給jquery,首先使用javascript表達式構建它
此外,html標簽屬性值( "checkbox""0" )都必須加引號

var selector = 'input[type="checkbox"][data-parent="' + id + '"]';
var cbs = $(selector);

編輯,詳細說明原因:
input[type="checkbox"][data-parent=id]
當javascript解析器遇到此錯誤時,它將嘗試將其作為javascript代碼執行,並將結果提供給$()

這是它(javascript解析引擎)嘗試的方法:

  • 尋找一個名為input的變量
  • input對象后找到[並計算內容, type="checkbox"
    (此操作將變量type設置為字符串"checkbox"並返回字符串"checkbox"
  • 將返回的值替換為前括號,即input["checkbox" ]
    (方括號運算符查找input對象的checkbox屬性,例如input.checkbox ,並返回該屬性的valueundefined
  • 同樣,計算第二組括號的value[data-parent=id]
    (但是這一次會出錯,因為data-parent=id模棱兩可,它試圖subtract parent from datasubtract parent from data的結果設置為變量id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM