台灣最大程式設計社群網站
線上人數
1583
 
會員總數:245895
討論主題:189493
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 使用變數名稱 length取值失敗
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
使用變數名稱 length取值失敗
價值 : 5 QP  點閱數:682 回應數:4
樓主

町風
初學者
229 213
1974 203
發送站內信

$('#showimg .list').length; //長度成功取到值

但是var list = $('#showimg .list')時
list.length; //長度永遠是0


搜尋相關Tags的文章: [ 變數名稱 ] , [ length ] ,
本篇文章發表於2015-09-21 11:00
1樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
測試沒什麼問題。不過可以試試將list改名看看。

另外.....

46行怎麼又用for了??不是有教過你用each了嗎?
本篇文章回覆於2015-09-22 16:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
大致猜測樓主的問題出在,.list會在頁面開啟後因為動作增加
樓主宣告
var list = $('#showimg .list');
是在頁面開啟時,當時沒有.list物件存在,所以list是空的
簡單的測試如下
本篇文章回覆於2015-09-23 10:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
看了一下迷路的說法

再看看你的程式,的確是有可能如迷路說的情況。
因為你的 list = $('#showimg .list')
是放在事件外。所以的確有可能一開始取到的是你還未產生的值。
之後事件觸發時,因為用$('#showimg .list')會在重新讀取元件,所以可以正常。
但原來的list則是不正常。因為它是已經取過的元件了。
可以試著將 list = $('#showimg .list') 放到事件內,就可以知道是否正常了。
不過其實直接用$('#showimg .list')來處理也就行了。
本篇文章回覆於2015-09-23 12:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

町風
檢舉此回應
感謝~
原因是list是後來動態加入的,所以用包在$(function(){})頁面load完執行裡也沒用

@浩瀚星空
這是改之前的程式 是之前for的寫法啦~!

本篇文章回覆於2015-09-24 15:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.