不确定此Javascript代码的功能
因此,我正在阅读一个JS文件,其中包含以下代码:不确定此Javascript代码的功能,javascript,jquery,html,css,Javascript,Jquery,Html,Css,因此,我正在阅读一个JS文件,其中包含以下代码: $('a[href]:not(.no-ajaxy):not([target="_blank"]):not([href^="#"]):not([href^="mailto:"]):not(.comment-edit-link):not(.comments-link):not(#cancel-comment-reply-link):not(.comment-reply-link):not(#toggle-nav):not(.logged-in-as
$('a[href]:not(.no-ajaxy):not([target="_blank"]):not([href^="#"]):not([href^="mailto:"]):not(.comment-edit-link):not(.comments-link):not(#cancel-comment-reply-link):not(.comment-reply-link):not(#toggle-nav):not(.logged-in-as a):not(.add_to_cart_button):not(.section-down-arrow):not([data-filter]):not(.pp):not([rel^="prettyPhoto"]):not(.pretty_photo)').click(function(e){
提高可读性
$('a[href]:not(.no-ajaxy)
:not([target="_blank"])
:not([href^="#"])
:not([href^="mailto:"])
:not(.comment-edit-link)
:not(.comments-link)
:not(#cancel-comment-reply-link)
:not(.comment-reply-link)
:not(#toggle-nav)
:not(.logged-in-as a)
:not(.add_to_cart_button)
:not(.section-down-arrow)
:not([data-filter])
:not(.pp)
:not([rel^="prettyPhoto"])
:not(.pretty_photo)')
.click(function(e){
所以,我假设它是一个钩子,连接到所有点击时触发的
链接,但在某些情况下它被排除在外。然而,我似乎无法理解以下情况:
是将get应用于.no ajaxy
的类,还是可以应用于父元素?以开头的所有其他非筛选器也是如此
我假设这意味着,如果链接如下所示,它将与此不匹配,因为它不是这样说的,对吗rel^=“prettypto”
我也尝试过一些案例来匹配这些排除,但似乎有什么东西让它忽略了这些条件。首先,这是关于 该代码由选择器逐一解释:
具有a[href]
属性的所有href
元素,以及:
没有CSS类:not(.no ajaxy)
no ajaxy
没有:not([target=“\u blank”])
属性值target
\u blank
没有以:not([href^=“#”])
开头的
属性。href
没有以:not([href^=“mailto:”)
'mailto:'开头的
属性。href
没有CSS类:没有(.comment edit link)
comment edit link
没有CSS类:没有(.comments link)
comments link
没有ID:not(#取消评论回复链接)
取消评论回复链接
没有CSS类:没有(.comment-reply-link)
comment-reply-link
没有ID:not(#toggle nav)
toggle nav
没有CSS类的父节点:not(.logged as a)
logged as
没有CSS类:没有(.add_to_cart_按钮)
add_to_cart_按钮
没有CSS类:没有(.section down arrow)
section down arrow
没有属性:not([data filter])
数据过滤器
没有CSS类:not(.pp)
pp
没有以:not([rel^=“prettypto”])
'prettypto'开头的属性
rel
没有CSS类:not(.pretty_photo)
pretty_photo
因此,它将获得具有上述条件的所有锚定标记,并为它们注册
click
事件处理程序。简短回答:选择一组元素并注册一个click处理程序。这是一个很长的选择器,所以只需从头开始,逐个token.PS处理它。不要假设,而是检查各种选择器上的。no ajaxy
是一个来自ajaxify html.js
插件的类。它基本上是说不要在该类的元素上使用ajax。因此,我认为它将钩子应用于所有没有类的
标记。没有ajaxy
我真的很欣赏这些链接,尽管我刚开始使用Javascript,不知道它是jQuery选择器。我觉得没必要因为这个问题是个新手就这么讨厌这个问题。好吧,最后用清晰的语言我终于能够理解了。非常感谢您的帮助。现在,CSS类是针对
元素的,忽略父元素或子元素。@SHiRKiT是的,仅针对元素