2011-10-12 72 views
1

我對jQuery相當陌生,所以這可能是一個非常基本的錯誤,但是這是正確的嗎?在jQuery中使用attr數據

var maxFont = $('h2').attr('font-max'); 
jQuery('.jtextfill').textfill({ maxFontPixels: + maxFont }); 

font-max的屬性在html中設置,但由於某種原因,我無法成功使用它。

我試圖取代不得不做這樣的事情:

maxFontPixels: 72 

萬一有一個問題,HTML看起來是這樣的:

<h2 font-max="[someValue]" > 

我將不勝感激任何幫助。 .. 謝謝!

UPDATE:解決方法是刪除'+'和變量之間的空格。就像我說的,我是一個noob。希望這可以幫助。

+1

你嘗試過'var maxFont = $('h2:first')。attr('font-max');'?這可能是因爲你正在返回一組元素而不是特定的元素。 –

+0

它應該可以正常工作,如果像Jeremy所說的那樣,一個元素由$('h2')'返回。這裏有一個類似的工作示例:http://jsfiddle.net/qAcDe/1/ –

+0

好問題。 '{maxFontPixels:+ maxFont}'有什麼好處?你嘗試用'alert(maxFont)'調試嗎? – beefyhalo

回答

0

寬度這行代碼

var maxFont = $('h2').attr('font-max'); 

的你得到72 如果您想通過

$('.theElementToDisplay').innerHTML(maxFont); 

它被寫入到一個DIV,SPAN或別的東西,你可以做到這一點如果你想要更改HTML元素的maxFont值,您可以將其設置爲

$('h2').attr('font-max', 'yourValue'); 
0

其n不清楚你的問題究竟是什麼不工作。

無論如何,請不要使用自定義屬性,請使用data- *屬性。

變化:

<h2 font-max="[someValue]" > 

要:

<h2 data-font-max="[someValue]" > 

而變化:

var maxFont = $('h2').attr('font-max'); 

要:

var maxFont = $('h2').data('font-max'); 

雖然這是執行自定義屬性的更好方法,但它可能仍不能解決您的問題。您致電textfill時,您的問題更可能發生。

+0

它不是有效的JS? –

+0

是的,我刪除了那部分。 :) – BNL

+0

@BNL - 你是對正在調用插件的問題。它工作正常,如果我硬編碼的價值,所以我想我只是失去了我把變量插入到調用中的一塊。 –