Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery如何根据包含的文本在dl中添加要跨越的类?_Javascript_Jquery - Fatal编程技术网

Javascript jquery如何根据包含的文本在dl中添加要跨越的类?

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

我希望能够将class=“st_sharethis”添加到菜单链接:告诉此网站上的朋友。在我们使用的cms中,没有办法向菜单链接添加特定的类或id,因此必须使用jquery来完成

因此,我必须根据span标记中的文本来做,span标记中的文本位于a标记中

到目前为止,我已经尝试:

  $('.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');
此外,此菜单项上还有特定的class
last
,因此您可以:

$('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中不重要)