1
"my_dynamic_list"というリストから "children-li"という名前のすべてのli要素を取得する関数があります。 各li要素にはobject_ck_bx、write_ck_bx、view_ck_bxの3つのチェックボックスがありますが、チェックボックスの値を取得する必要がありますが、なぜコードはliタグ名にアクセスできるのですか?李子?Uncaught TypeError:children [i] .childrenは関数ではありません
function getTreeData() {
// Get All Li elements thats contains the checkboxes form the type object,read,write
var children = $('#my_dynamic_list').children().find('li[name=children-li]');
var extracted_data = [];
for (i = 0; i < children.length ; i++) {
alert(children[i].tagName); //this gives li
if (children[i].children().find('input[name=object_ck_bx]').checked == true) { // This Line gives Uncaught TypeError: children[i].children is not a function
var profile_code = children[i].children().find('input[name=object_ck_bx]').id;
var view = children[i].children().find('input[name=view_ck_bx]').checked;
var write = children[i].children().find('input[name=write_ck_bx]').checked;
alert('profile_code' + profile_code);
var item = [];
item = { Id: profile_code, read: view, write: write };
extracted_data.push(item);
}
}
// alert(extracted_data);
return extracted_data;
}
ブラウザ中のLiプロパティはあなたが初めて.children()
を呼び出すと、あなたはHTMLElement
オブジェクトのプレーンな配列を取り戻す
このためdupetargetがなければなりません。 jQueryオブジェクトにインデックスを付けると、jQueryオブジェクトではなく、生のDOM要素が取得されます。 DOM要素は 'children'関数を持っていません(彼らは' children'プロパティを持っています)(編集:私が思ったよりも簡単に見つけられた、私は検索用語で運が良かった。 children()。find(...) 'はchildren.eq(i).children()。find(...)'になります。 –
@ T.J.Crowder投稿する前にまずそれを試しましたが、うまくいきませんでした。ありがとうございました。 – Furqan
'$(children [i])'は 'children.eq(i)'と書くのは長年の、慣れない方法なので、間違っていました。 –