2013-01-09 147 views
1

我有一個jQuery腳本,它爲每個div提供了自己的data-page-index屬性作爲數字,我有一些變量可以提取特定的數據頁面索引值並將它們轉換爲整數以進行一些計算,但我需要重新應用此號碼使用其var名稱,例如,將var設置爲屬性值

var foo = parseInt(active.attr('data-page-index')), 
    next = (foo+1) 
    nextfoo = $('[data-page-index="'' +next+ '"]') 

這是可能的嗎?

回答

1

是的,這是可能的。你的問題是一個小的語法錯誤。你在那裏有額外的單引號。

nextfoo = $('[data-page-index="'' +next+ '"]') 
/* -----------------------------^---------- */ 

由於語法突出顯示存在問題,因此可以在Stack Overflow中看到此處。你的IDE應該也有同樣的效果。

正確的代碼應該是這個樣子(我真的不喜歡在一行中定義多個變量,所以我他們分手了 -

var foo = parseInt(active.attr('data-page-index')); 
var next = foo+1; 
var nextfoo = $('[data-page-index="' + next + '"]'); 

我可能是錯的...但我。認爲next是一個保留關鍵字,這可能給你造成一些不可預知的問題......我建議改變這個變量以及名稱...Irrelevant

+2

難道他需要一個逗號後下一=(FOO + 1)呢? –

+0

@mat - 你是對的......但我不是那種語法的忠實粉絲,所以我改變了它。 – Lix

+0

同意。我討厭人們試圖讓所有人都喜歡這些變種。 –

0

試試這個:

var foo = parseInt(active.data('page-index')), 
next = (foo + 1) 
nextfoo = $('[data-page-index="' + next + '"]') 

您在屬性選擇了一個錯誤的雙''

1

絕對:

var foo = parseInt(active.attr('data-page-index')), 
next = (foo+1) // <---parse this one too 
nextfoo = $('[data-page-index="'' +next+ '"]') 
    //---------------------------^--------------you have extra (') here 

它應該是:

var foo = parseInt(active.attr('data-page-index')), 
next = parseInt(foo+1); 
nextfoo = $('[data-page-index="' +next+ '"]'); 
+0

+1用於實際指示哪裏問題是。有時候,當你長時間盯着一段代碼時,很容易錯過這樣的小錯誤。 – Lix

+0

@Lix好了說:) – Jai