我是jQuery的新手并且了解基础知识,但我遇到了针对网页某些部分的问题,所以我需要填补一些知识空白。
我执行了解$(this).attr('href')
会在当前关注/点击的元素中获得href
的属性。
但如果它写得像$($(this).attr('href'));
那样呢?
这是我在一个我没写过的脚本中的代码,我不确定这只是一个错误还是故意的。
我觉得这很基本但是如何搜索$($())
?
当我搜索$($(this).attr('href'))
时,我得到的是关于我已经理解的原始条款的文档。
这只是一个拼写错误还是一个单独的用例?
答案 0 :(得分:6)
正如您所说,$(this).attr('href')
会返回匹配元素的href。这是一个字符串。然后将该字符串传递给$
,它不知道它是什么,所以对待它就像处理任何其他字符串一样:它解析它,决定它是否看起来像HTML或选择器,然后返回生成的jQuery实例。
据推测,这在某些情况下,href恰好也是有效的选择器或有效的HTML。正如在评论中提到的,可能的候选者是类似#something
的字符串,其作为href链接到ID为something
的元素的滚动位置,并且作为选择器告诉jQuery选择相同的元素