您的位置:首頁技術文章
文章詳情頁

javascript - jqeury用字符串拼接的ID選擇器為什么不能使用?

瀏覽:190日期:2023-04-16 10:36:51

問題描述

for(var i = 0; i < checkeds.length; i++){ var check = ’user’+checkeds[i]+’--mycheckbox’; $('#'+check).parent(’td’).siblings(’.text-status’).removeClass(’text-green’); console.log($('#'+check).parent(’td’));}

這段代碼中 checkeds 是一個id的數組,第三行是查找這個id元素的父級的同級元素中帶有.text-status樣式的元素并去掉text-green這個樣式??墒菬o法生效,下面是控制臺報出的查找的父級元素td的內容;

[prevObject: n.fn.init, context: document]context:documentlength:0prevObject:n.fn.init__proto__:Object(0)

這個是HTML的層級關系

<tr><td> <input name='user-contorl' data-color='yellow' type='checkbox' data-text=''></td><td>0001</td><td><img src='http://www.wxshucaidpc.com/wenda/images/user.png' alt=''></td><td>耿直BOY</td><td>男</td><td>1990-02-01</td><td class='table-text'>曾經獲得迪尼斯全球最能吃獎曾經獲得迪尼斯全球最能吃獎</td><td>北京</td><td>2399</td><td>123</td><td>github</td><td>******</td><td>18511009922</td><td>1991-02-01</td><td class='text-blue'>23</td><td class='text-blue'>23</td><td class='text-blue'>23</td><td class='text-green'>正常</td><td><a href='http://www.wxshucaidpc.com/wenda/4717.html' class='user-edit'><i class='fa fa-edit'></i></a></td> </tr>

問題解答

回答1:

單開一個最簡單的demo試一下就知道了、是可以拼接的、

只能說你的頁面上代碼哪里出了問題

看html中id為user1-mycheckbox

看你的拼接卻是’user’+checkeds[i]+’--mycheckbox’;

一個是短橫線、一個是雙短橫線、還是代碼貼錯了?

回答2:

題主可以判斷一下是否選擇器是正常的

var check = ’user’+checkeds[i]+’--mycheckbox’;

// check = user1--mycheckbox

<input .....回答3:

如果實例是你發的html的話,1.頁面中并沒有td.text-status2.check拼接的時候多了一個短橫線 //html中 var check = ’user’+checkeds[i]+’--mycheckbox’; // check= user1--mycheckbox回答4:

可以使用 不能使用的話那也只能是你頁面上不存在這個ID

回答5:

題主可以把測試代碼發一下嗎,這種情況一般就是你層級沒找對

回答6:

check 輸出看下是不是你想要的結果,如果是,再檢查這個id在頁面上是不是存在的,帶有這個id的元素一開始也是要存在頁面上的,不能是未來元素!未來元素要用事件委托。

標簽: JavaScript
相關文章:
国产综合久久一区二区三区