jquery var equals var不起作用

时间:2012-02-02 17:10:13

标签: jquery equals var

我觉得有点傻,我试着在这里找到答案,但找不到合适的东西。希望可以有人帮帮我。

我只是想尝试匹配两个不同的变量,所以如果它们是相同的,则一个项应该会收到一个新的类:

var recentposttitle = $('#catblogoutput h2.post-title').text();
$('#sub-nav ul li a').each(function() {
  var subnavlink = $(this).attr('title');


    if (subnavlink == recentposttitle) {
        $(this).addClass('selected');

    }
});

嗯它不起作用。知道为什么吗?欣赏它!

4 个答案:

答案 0 :(得分:0)

你的问题在于:

var recentposttitle = $('#catblogoutput h2.post-title').text();

我认为这不是你想要的。根据jquery文档,.text()函数定义为:

  

描述:获取集合中每个元素的组合文本内容   匹配元素,包括他们的后代。

这应该指向你的答案

答案 1 :(得分:0)

代码确实有效。我测试了它,并且给出了正确的标记,它可以正常工作。

查看示例,并将标记与您自己的标记进行比较:

http://jsfiddle.net/Guffa/NHexj/

答案 2 :(得分:0)

代码看起来是正确的,现在我们需要查看标记,因为代码段中的查询无法匹配文档中的任何内容,具体取决于它是什么。

对于类似这样的事情,firebug或开发人员工具以及迭代中的断点应该可以立即进行排序。

答案 3 :(得分:0)

同意。您的代码有效。

尝试将字符串打印到控制台以获取帮助。可能是,他们不匹配。

var recentposttitle = $('#catblogoutput h2.post-title').text();

$('#sub-nav ul li a').each(function(){  
    var subnavlink = $(this).attr('title');     

    console.log("Post Title: '" + recentposttitle + "'");
    console.log("Menu Link: '" + subnavlink + "'");

    if(subnavlink==recentposttitle){        
        $(this).addClass('selected');
    }
});