javascript - jqeury用字符串拼接的ID選擇器為什么不能使用?
問題描述
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的數(shù)組,第三行是查找這個id元素的父級的同級元素中帶有.text-status樣式的元素并去掉text-green這個樣式。可是無法生效,下面是控制臺報出的查找的父級元素td的內(nèi)容;
[prevObject: n.fn.init, context: document]context:documentlength:0prevObject:n.fn.init__proto__:Object(0)
這個是HTML的層級關(guān)系
<tr><td> <input name='user-contorl' data-color='yellow' type='checkbox' data-text=''></td><td>0001</td><td><img src='http://www.aoyou183.cn/wenda/images/user.png' alt=''></td><td>耿直BOY</td><td>男</td><td>1990-02-01</td><td class='table-text'>曾經(jīng)獲得迪尼斯全球最能吃獎曾經(jīng)獲得迪尼斯全球最能吃獎</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.aoyou183.cn/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:
如果實例是你發(fā)的html的話,1.頁面中并沒有td.text-status2.check拼接的時候多了一個短橫線 //html中 var check = ’user’+checkeds[i]+’--mycheckbox’; // check= user1--mycheckbox回答4:
可以使用 不能使用的話那也只能是你頁面上不存在這個ID
回答5:題主可以把測試代碼發(fā)一下嗎,這種情況一般就是你層級沒找對
回答6:check 輸出看下是不是你想要的結(jié)果,如果是,再檢查這個id在頁面上是不是存在的,帶有這個id的元素一開始也是要存在頁面上的,不能是未來元素!未來元素要用事件委托。
相關(guān)文章:
1. mysql事務(wù)日志的一些問題2. php - mysql連表統(tǒng)計查詢3. 數(shù)據(jù)庫 - mysql boolean型無法插入true4. mysql主從復(fù)制 REPLICATE_DO_DB 參數(shù)從服務(wù)器reboot后每次都回滾為初始設(shè)置5. MySQL數(shù)據(jù)庫中文亂碼的原因6. MySQL不知道錯哪里了?7. MySQL分表之后如何做排序的問題8. mysql - 在下剛?cè)腴Tsql 關(guān)于sql的語法詢問9. mysql - 測試不同sql語句的查詢效率10. phpstuty 修改完監(jiān)聽端口,apache無法啟動
