给我的超链接自定义属性
问题描述:
我想给我所有的URL的属性。每页大概有400个左右。有时只有40个,这取决于正在查看哪种类型的产品。给我的超链接自定义属性
我想是这样的:
<a href="link.html" class="something" title="Click here to add this to your cart" partno="DBF-XJ3" qtyType="Box QTY" quantity="50">Stainless Steel Bolts</a>
如何才能做到这一点?
我知道在HTML5中有某种数据的东西,但我还找不到它,所以也许我误解了某个地方。
基本上,当点击这些链接中的任何一个时,我会(PHP)将该产品插入数据库中的购物车。但是,根据任何给定链接的属性,我可能需要在将它们插入数据库之前进行一些计算/调整/等等。
这似乎是唯一简单,合乎逻辑(也是有点儿乐趣)的方法。但我不确定浏览器之间的兼容性,或者它是否有效。
答
你会做这样的:
$(document).ready(function(){
$("a[href]").each(function(){
if($(this).attr("href") == "link.html"){ //I put a condition here just in case you need one
$(this).attr({
"partno": "DBF-XJ3",
"qtyType": "Box QTY",
"quantity": "50"
});
}
});
});
如果所有的链接需要相同的属性,你可以删除的条件。
希望这会有所帮助。欢呼声
PS:它可以在每个浏览器中使用,但HTML5建议在您的自定义属性中添加前缀'data-
'。示例data-partno="DBF-XJ3"
答
您是对的,它是您要查找的data-
属性。 [random reference]
你的链接看起来是这样的:
<a data-partno="DBF-XJ3" data-qtyType="Box QTY" data-quantity="50">
演示在这里:http://jsfiddle.net/wesley_murch/ey2pg/
它真的只是一个JavaScript钩,由于jQuery的似乎应付自如的我检查了所有浏览器(包括IE6),我会说它的“安全”使用。据我所知,你甚至可以编写属性,它将与jQuery一起工作(尽管不推荐)。这是避免滥用rel
和title
等(如很多人所做的)的最佳方式,仅用于JavaScript交互。
但是,我强烈建议使用<form>
隐藏<input>
s(和<button>
容易造型)提交的值。另一种方式是在没有javascript的情况下破解,之后您可以使用jQuery来增强它。