[英]Can I stick extra stuff in HTML tags so that my JQuery can pick up on it?
<div id="holder" rel="http://mysite.com/go.jpg" rel2="42pixels" rel3="gaga">
blah
</div>
可以嗎?
如果可能的話,我建議使用HTML5的自定義數據屬性來實現此目的:
<div id="holder" rel="http://mysite.com/go.jpg" data-rel2="42pixels" data-rel3="gaga">
blah
</div>
這種情況下的常用方法是采用data-*
偽命名空間 。
並非在所有版本的HTML中都有效。 但是它相對無害並且非常方便。 比許多其他方法要好得多。
編輯:例子總是很棒的:
<!-- In an HTML file loaded with AJAX, for instance: -->
<ul>
<li data-id="1">My Little Pony</li>
<li data-id="2">Transformers</li>
</ul>
data-*
屬性是添加自定義屬性的正確方法,但這僅在HTML5中有效。 就個人而言,我通常使用id
或class
屬性來傳遞額外的數據。 就您而言,您甚至可以執行以下操作:
<div id="holder" class="http://mysite.com/go.jpg_42pixels_gaga">blah</div>
然后使用以下內容訪問該數據:
var divParams = $("#holder").attr("class").split('_');
alert('Param 1 is: ' + divParams[0] + ' / Param 2 is: ' + divParams[1] + ' / Param 3 is: ' + divParams[2]);
當然,您可能想使用比下划線更復雜的分隔符,以確保您不會錯誤地分割字符串,我只是將其用作POC。
希望這可以幫助 !
不,它不會通過這種方式進行驗證: http : //www.alistapart.com/articles/scripttriggers/
您可以提供自定義DTD以使其“有效”: http : //www.alistapart.com/articles/customdtd/
取決於“允許”的含義。 可以,但是您的確認將被射擊。 將class
屬性是為了支付這些類型的擴展名(盡管沒有人真正使用它來anythign但CSS,所以它可以說是事實上的成為虐待這樣做)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.