繁体   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