如何使用jQuery添加HTML属性

时间:2010-10-05 17:15:05

标签: javascript jquery html

好吧,我有这个jQuery图像幻灯片,它使用< a>中的属性“control”。看到它没有验证我搜索了一种通过jQuery在我的HMTL中添加这个属性的方法,但我没有找到任何相关的东西。现在我并不关心页面的有效性,但我真的很好奇如何在HTML标签中添加HTML属性。

如果我对我的解释不够清楚,我有这段代码:

<a id="previous" control="-6" href="#"></a>

我想用jQuery添加 control =“ - 6”

7 个答案:

答案 0 :(得分:27)

使用jQuery的attr函数

$("#previous").attr("control", "-6");

一个例子

// Try to retrieve the control attribute
// returns undefined because the attribute doesn't exists
$("#previous").attr("control");

// Set the control attribute
$("#previous").attr("control", "-6");

// Retrieve the control attribute (-6)
$("#previous").attr("control");

请参阅此example on jsFiddle


您也可以使用data函数在元素上存储值。以相同的方式工作,例如:

$("#previous").data("control"); // undefined
$("#previous").data("control", "-6"); // set the element data
$("#previous").data("control"); // retrieve -6

使用data可以存储更复杂的值,例如对象

$("#previos").data("control", { value: -6 });
($("#previos").data("control")).value; // -6

查看data example on jsFiddle

答案 1 :(得分:14)

由于jQuery版本已经覆盖在这里,我想我会提供一些不同的,所以这里是一个原生的DOM API替代方案:

document.getElementById('previous').setAttribute('control','-6');

是的,我知道你要求jQuery。永远不要害怕知道本土的方式。 :O)

答案 2 :(得分:2)

让我看看我是否了解你。 例如,您有代码:

<a id="previous" href="#"></a>

通过jQuery,你希望它是:

<a id="previous" control="-6" href="#"></a>

是不是? 如果是。你必须这样做:

$('#previous').attr('control', -6);

如果属性不存在,则由jQuery创建。 所以,要删除它,你可以这样做:

$('#previous').removeAttr('control');

你正在做什么不尊重html规则和其他一切,但它工作正常,许多插件都这样做。 ; d

我希望这可能有所帮助!

见到你!

答案 3 :(得分:1)

试试这个:

$('#previous').attr('control', '-6');

为什么呢? jQuery的$.attr();函数允许你添加,获取或更新属性(class,id,href,link,src,control等等!)。

答案 4 :(得分:1)

$("#previous").attr("control", "-6");

答案 5 :(得分:1)

HTML:

<a id="previous" href="#">...</a> 

jQuery的:

$('#previous').attr('control', '-6');

答案 6 :(得分:1)

jQuery的attr会这样做。例如:

$("#previous").attr("control", "-6");

另请参阅http://jsfiddle.net/grfSN/上的此示例。