2016-12-01 110 views
0

我有可拖動的div。表示我使用數組重新排列的textarea中的文本。javascript更改變量定義

  • [1] [2] [3] [4]
當我移動最後一個div我得到有關的變量,告訴哪些因素右側錯誤後的div

  • [2] [3] [4] [1] rightElement is undefined

rightElement = $(".tile").eq($(".tile").index($(element)) + 1); 
rightElementNumber = rightElement.attr("id"); 
rightElementNumber = rightElementNumber.replace(/id/, ""); 

我試圖創建未定義事件的if else結構,但遺憾的是本次活動returnes規律。

if (typeof rightElementNumber === "undefined") { 
} 

基本上,如果我把我的var定爲rightElement = $(".tile").eq($(".tile").index($(element)) + 0);代碼將按預期工作。 但我找不到改變var定義的方法。

此外,我將「.first」和「.last」類分配給第一個和最後一個元素,但是因爲它是數組。第一個索引的左元素和最後一個索引的右元素是相同的。

任何有關如何改變rightElement的定義取決於它是否是最後一個元素?

+4

你能提供一個工作的例子嗎? – Dekel

+0

我試過但失敗了,因爲更簡單的示例需要絕對不同的方法。 –

回答

0

該命令檢查未定義類型是否未定義或其他。

jQuery.type(rightElement.attr("id")) === "undefined" 

當事件不確定的returnes定期它有中間元素類型「字符串」,然後鍵入「未定義」時,它的右側。