如何忽略具有特定CSS类的HTML组件

时间:2017-12-04 11:39:54

标签: jquery

我在页面中有很多链接,但很少有链接附加了很少的特定css类。我想避免那些附加.noclass的链接。以下代码解决了我的问题。

<a href="#" class="noclass">Link with No class1</a><br/>
<a href="#" class="noclass">Link with No class2</a><br/>
<a href="#" >Link without No class</a><br/><br/>

<div id="footer_column6">
  <a href="#" class="noclass">Link with No class</a><br/>
  <a href="#" class="">Link without No class</a><br/>
  <a href="#" class="">Link without No class</a>
</div>
$(document).ready(function() {
    var hyperLink = $("a:not(.noclass)");
    $.each(hyperLink, function(index, value) {
      var href = $(value).attr("href");
      //Test code to update the back ground
      $(value).css("background-color", "red");
      $(value).attr("href", "/" + countrycode + (href == '/' ? '' : href));
      href = $(value).attr("href");
    });
});

当场景有点不同时,我想忽略css类.noclass的任何内容,那么上面的代码就不起作用了。

假设在div中有几个链接,其中noclass已附加到div,并且我不想迭代那些没有附加类的div中的链接。

所以如果noclass直接与链接相关联,或者noclass可能会附加到父类似div或span。在这种情况下,如果其父级没有附加类,我不想迭代链接。所以告诉我在jquery代码上面添加一些修改。

感谢

1 个答案:

答案 0 :(得分:1)

我已经修改了我以前的代码,我意识到存在一个逻辑缺陷,也不是因为它依赖于添加额外的外部div以使其工作。此版本最初选择所有链接,然后从.each中选择,它测试链接是否为.noclass或者具有.noclass的祖先:

    #!/bin/bash

cat <<EOT | /usr/sbin/sendmail -t
TO: @email1, @email2
SUBJECT: Report: Nagios Event Log  $(date +%F --date=yesterday)
MIME-Version: 1.0
Content-Type: multipart/related;boundary="XYZ"

--XYZ
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello Team,<br>Daily Nagios report of $(date +%F --date=yesterday) is generated.
<img src="cid:part1.06090408.01060107" alt="">
<br>Best Regards, Nagios Admin
</body>
</html>

--XYZ
Content-Type: image/png;name="Nagios-EventLog-`date +%F --date="yesterday"`.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.06090408.01060107>
Content-Disposition: inline; filename="Nagios-EventLog-`date +%F --date="yesterday"`.png"
$(base64 /some_path/NagiosReport/Nagios-EventLog-`date +%F --date="yesterday"`.png)
--XYZ--
EOT

这更加健壮,因为它也适用于页面根部的链接,以及任何类型的包装元素(div,span,section,article等)。

这是一个Fiddle示例(请注意,我必须注释掉国家/地区代码行才能使小提琴正常工作,因为国家代码未定义)。