jQuery初学者" .each()"

时间:2015-03-05 13:21:45

标签: javascript jquery html

为什么我在控制台中出错? “未捕获的SyntaxError:意外的令牌;”

jQuery:

$("#menu a").each(function(){ 
console.log(($this.attr("href"));
});

HTML:

<body>
<div id="menu">
    <ul>
        <li class="selected"><a href="index.html">Home</a></li>
        <li><a href="about.html">About</a></li>
        <li><a href="contact.html">Contact</a></li>
        <li><a href="support.html">Support</a></li>
        <li><a href="faqs.html">FAQs</a></li>
        <li><a href="events.html">Events</a></li>
    </ul>
</div>

5 个答案:

答案 0 :(得分:4)

您的括号不匹配,$this应为$(this)

$("#menu a").each(function(){
    console.log($(this).attr("href"));
});

答案 1 :(得分:1)

应该是$(this)而不是$this

此外,您还在console.log中打开了一个额外的括号

像这样的东西

$("#menu a").each(function(){ 
  console.log($(this).attr("href"));
});

答案 2 :(得分:0)

试试这个Working Demo

$("#menu ul li a").each(function(){ 
console.log(($(this).attr("href")));
})

答案 3 :(得分:0)

只需使用this.href

即可
$("#menu a").each(function(){
    //to grab the absolutel URL
    console.log( this.href );
    //To get the string from href
    console.log ( $(this).attr("href") );
});

答案 4 :(得分:0)

$this将返回此类错误,因为$(this)引用每个链接(<a href="#">)时未定义此错误,并且可以正常工作。