$($(this).attr(' href'))在jQuery中意味着什么?

时间:2018-04-07 14:21:53

标签: javascript jquery

我是jQuery的新手并且了解基础知识,但我遇到了针对网页某些部分的问题,所以我需要填补一些知识空白。

执行了解$(this).attr('href')会在当前关注/点击的元素中获得href的属性。

但如果它写得像$($(this).attr('href'));那样呢?

这是我在一个我没写过的脚本中的代码,我不确定这只是一个错误还是故意的。

我觉得这很基本但是如何搜索$($())? 当我搜索$($(this).attr('href'))时,我得到的是关于我已经理解的原始条款的文档。

这只是一个拼写错误还是一个单独的用例?

1 个答案:

答案 0 :(得分:6)

正如您所说,$(this).attr('href')会返回匹配元素的href。这是一个字符串。然后将该字符串传递给$,它不知道它是什么,所以对待它就像处理任何其他字符串一样:它解析它,决定它是否看起来像HTML或选择器,然后返回生成的jQuery实例。

据推测,这在某些情况下,href恰好也是有效的选择器或有效的HTML。正如在评论中提到的,可能的候选者是类似#something的字符串,其作为href链接到ID为something的元素的滚动位置,并且作为选择器告诉jQuery选择相同的元素