簡體   English   中英

我可以在HTML標記中粘貼其他內容,以便我的JQuery可以使用它嗎?

[英]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中有效。 就個人而言,我通常使用idclass屬性來傳遞額外的數據。 就您而言,您甚至可以執行以下操作:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM