[英]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.