Javascript jquery如何根据包含的文本在dl中添加要跨越的类?
我希望能够将class=“st_sharethis”添加到菜单链接:告诉此网站上的朋友。在我们使用的cms中,没有办法向菜单链接添加特定的类或id,因此必须使用jquery来完成 因此,我必须根据span标记中的文本来做,span标记中的文本位于a标记中 到目前为止,我已经尝试:Javascript jquery如何根据包含的文本在dl中添加要跨越的类?,javascript,jquery,Javascript,Jquery,我希望能够将class=“st_sharethis”添加到菜单链接:告诉此网站上的朋友。在我们使用的cms中,没有办法向菜单链接添加特定的类或id,因此必须使用jquery来完成 因此,我必须根据span标记中的文本来做,span标记中的文本位于a标记中 到目前为止,我已经尝试: $('.main_menu span:contains("Tell A Friend")').attr('class','st_sharethis'); $('.main_menu span').each(f
$('.main_menu span:contains("Tell A Friend")').attr('class','st_sharethis');
$('.main_menu span').each(function ()
{
if ($(this).text() == "Tell A Friend")
$(this).attr('id','rev3');
}
两者都不起作用。如果此菜单项始终是最新的:
$('#menu dl dt:last a').addClass('myclass');
此外,此菜单项上还有特定的classlast
,因此您可以:
$('dt.last').addClass('myClass');
或者,您可以只测试链接的内容:
$('#menu dl dt a span:contains("Tell A Friend")').parent().addClass('myClass');
下面将向元素添加一个类和id
$('.main_menu span:contains("Tell A Friend")')
.addClass('st_sharethis')
.attr('id', 'rev3');
您的代码很好,只需在末尾添加一个“;”
$('.main_menu span:contains("Tell A Friend")').attr('class','st_sharethis');
$('.main_menu span').each(function ()
{
if ($(this).text() == "Tell A Friend")
$(this).attr('id','rev3');
}
); // ADD this line !
但当然,最好只是将命令链接起来:
$('.main_menu span:contains("Tell A Friend")')
.attr('class','st_sharethis')
.attr('id','rev3');
这适用于您的标记:
$('#menu span:contains("Tell A Friend")')
.addClass('st_sharethis')
.attr('id','rev3');
实例:如果是最后一个,请尝试
$('a.main_menu.last').find('span').addClass('st_sharethis');
你真的击中目标了吗。如果是a标记中的一个span,那么jQuery选择器中的a标记在哪里。尝试一些简单的方法,例如更改文本颜色以确定是否达到了目标,或者在上一个示例中,尝试提醒返回的文本,以确定它实际上是您正在检查是否相等的文本。另一个选择是在这里发布HTML,这样可以更具体地帮助您,而不仅仅是一些一般性的考虑。最后一个示例是if语句中缺少字符,根本不起作用,并且不确定是否可以使用这样的contains。是的,我测试了这个,它被解释为内联“if”(\n字符在javascript中不重要)