我想使用jquery将类添加到td中的锚标记

时间:2012-07-30 11:04:10

标签: javascript jquery

这是我的标准:

<td width="64%" valign="top" class="addtocart_vak">
<a href="/ShoppingCart.asp?ProductCode=QH1225264">
<img border="0" align="absmiddle" src="btn_addtocart_small.gif">
</a>
</td>

我尝试了下一个jquery代码:

$('.addtocart_vak' 'a').addClass("anchor");

我接下来还尝试过:

$(".addtocart_vak a[href$=/ShoppingCart.asp]").addClass("anchor");

请给我正确的解决方案。

更新

我收到以下JavaScript异常:

  

[Exception ...“'JavaScript组件没有名为的方法:   调用方法时“onStatusChange”':   [nsIWebProgressListener :: onStatusChange]“nsresult:”0x80570030   (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)“位置:”“   数据:没有]

你可以给我解决方法如何解决这个错误?

3 个答案:

答案 0 :(得分:2)

您只能提供一个字符串作为选择器,但是您在类选择器之后立即断开字符串。你可能会在那里遇到语法错误,对吗?

如果你没有在类选择器和标签选择器之间结束你的选择器,你会没事的。

请改为尝试:

$('.addtocart_vak a').addClass("anchor");

使用此选择器(第二次尝试):

$(".addtocart_vak a[href$=/ShoppingCart.asp]")

你说的是给我所有a元素,其href属性以/ShoppingCart.asp结尾。 (您应该在该值周围加上引号。)但是,由于您的href-attribute具有查询字符串,因此href-value不会以/ShoppingCart.asp结尾。但它确实具有该值,因此您可以使用attribute starts with selector代替。

$(".addtocart_vak a[href^='/ShoppingCart.asp']")

<强>更新

您显示的错误与jQuery或您的选择器无关,但它可能会破坏您的脚本的执行,以便您的jQuery代码无法运行。您对可能导致该异常的原因有什么想法吗?如果你解决了这个问题,那么你的jQuery代码也可能正常运行。

答案 1 :(得分:1)

$('.addtocart_vak a').addClass("anchor");

或者您希望规范是直接孩子

$('.addtocart_vak > a').addClass("anchor");

答案 2 :(得分:1)

您可以在锚点中添加ID并按ID查找,或者只使用

$('.addtocart_vak a').addClass("anchor");