2011-02-27 67 views
3

我有這樣一個類:股利類的額外參數的jQuery

<div class="photo" parameter1="custom" parameter2="custom"></div> 

我有4個參數總。

我需要一種方法來提交這個參數在我的照片股利用於JQuery代碼,仍然有我的網站符合W3C。有任何想法嗎?

回答

12

將文檔類型設置爲HTML5並使用custom data-* attributes

<!DOCTYPE HTML>  
... 
<div class="photo" data-parameter1="custom" data-parameter2="custom" data-parameter3="custom" data-parameter4="custom"></div> 
+2

也只是一個說明,更新版本的jQuery添加所有'data- *'屬性到數據對象t ...所以你可以像這樣訪問它:'$('。photo')。data()。parameter1'等。 – Mottie 2011-02-27 13:42:08

+1

是的!或者如果你不想從元素中提取所有數據屬性,你可以使用'$('。photo')。data('parameter1')'。 – jimmystormig 2011-05-23 06:41:19

4

如果您使用HTML5,你必須創建custom attributes prefixed with data-*的選項,它允許您使用類似:

<div class="photo" data-parameter1="custom" data-parameter2="custom">...</div> 
1

好你sysntax不正確,它應該結束的div

是的,如果你添加自定義屬性到你的標籤,它不符合w3c標準。

您可以按如下

var a=$('.photo').attr('parameter1'); 
var b=$('.photo').attr('parameter2'); 
var c=$('.photo').attr('parameter3'); 
var d=$('.photo').attr('parameter4'); 

選擇自己的價值,如果你想使用jQuery添加新的屬性,你可以如下做到這一點:

$('.photo').attr('newParameter','value'); 

希望,對於ü

效果很好
+0

您可以引用它表示符合W3C要求的自定義屬性嗎? – jmort253 2011-02-27 11:34:33

+0

對不起,這是一個錯字..反正更多的細節abt的參數http://stackoverflow.com/questions/994856/so-what-if-custom-html-attributes-arent-valid-xhtml – Baz1nga 2011-02-27 11:38:09

1

我認爲你不符合HTML中的一些概念。

首先,div不是「類」,你有一個「div元素」。 div元素可以有一個class屬性。

其次,您必須使用</div>關閉您的元素,而不是</class>

針對該問題,另一個解決方案是使用隱藏的元素你的DIV中,例如

<div class="photo"> 
    <span class="hidden" name="parameter1">...</span> 
    <span class="hidden" name="parameter2">...</span> 
    <span class="hidden" name="parameter3">...</span> 
    <span class="hidden" name="parameter4">...</span> 
</div> 

與CSS樣式會是這樣的:

.hidden { 
    display: none; 
} 

最後jQuery的檢索值:

var value = $('div.photo span[name="parameter1"]').html();