我怎样才能用JQuery实现这一目标

时间:2011-03-01 20:01:32

标签: jquery href addclass

我目前在我的文档中有这个

$(document).ready(function(){
     $("[href$='.html']").addClass('html');
     $("[href$='.pdf']").addClass('pdf');
});

为任何具有html扩展名和pdf扩展名的链接设置样式。如果网址具有扩展名,则会在链接之前显示图像。我想让它只用那种带有“dlist”类的无序列表中的样式。我怎样才能做到这一点?我尝试在[href]之前添加它但没有发生任何事情。我遇到的问题是文章中的其他链接样式,而不仅仅是我需要的下载部分。

4 个答案:

答案 0 :(得分:3)

$(document).ready(function(){
     $("ul.dlist a[href$='.html']").addClass('html');
     $("ul.dlist a[href$='.pdf']").addClass('pdf');
});

您需要ul.dlista[href$='.pdf']之间的空格。

空格是descendant-selector[docs]

另外,您会注意到我在a选择器之前添加了[href...]。这将更有效,因为它不需要分析所有元素,而只需要分析a元素。

答案 1 :(得分:1)

$(document).ready(function(){
   $("ul.dist [href$='.html']").addClass('html');
   $("ul.dist [href$='.pdf']").addClass('pdf');
});

答案 2 :(得分:0)

$(document).ready(function(){
    $("ul.dlist a[href$='.html']").addClass('html');
    $("ul.dlist a[href$='.pdf']").addClass('pdf');
});

答案 3 :(得分:0)

添加.dlist似乎对我有用 jsfiddle working example

$(".dlist [href$='.html']").addClass('html');
$(".dlist [href$='.pdf']").addClass('pdf');