如何比较两个不同函数内的两个变量iququery?

时间:2015-01-30 08:58:02

标签: javascript jquery

这是代码:

var selector = '.tabsclicked ul li';

$(selector).on('click', function () {
    $(selector).removeClass('activenav');
    $(this).addClass('activenav');

    var hashsign = "#";
    var contentid;  
    var linkshref;

    $('.contentdesc > div').each(function() {
        contentid = $(this).attr('id');
    });

    alert(contentid);

    $('.tabsclicked ul li a').each(function () {
        linkshref = $(this).attr('href');
    });

    var hrefval = hashsign+contentid ;

    if (contentid === linkshref){
        alert("true");
        $(contentid).removeClass('active in');
    } else {
        alert("false");
        $(contentid).addClass('active in');
    }
});

如果我警告contentid它显示最后一个id evertime。但是当李被逮捕时我想要div的相应id

2 个答案:

答案 0 :(得分:0)

要获取所点击的div内的第一个li的ID,请执行以下操作:

var selector = '.tabsclicked ul li';
//Only one:
$(selector).on('click', function () {
     var myDivId = $(this).find('div').eq(0).attr('id');
     alert(myDivId);
});
//All divs, in an array
$(selector).on('click', function () {
     var myDivIds = [];
     $(this).find('div').each(function(){
         myDivIds.push($(this).attr('id'));
     });
     alert(myDivIds);
});

答案 1 :(得分:0)

您可能希望根据单击的锚点激活内容div。以下是我的更新:

var selector = '.tabsclicked ul li';

$(selector).on('click', function () {
    $(selector).removeClass('activenav');
    $(this).addClass('activenav');
    var linkshref = [];
    var clickedHref = $(this).find('a').attr('href');

    $('.tabsclicked ul li a').each(function (i, el) {
        if ($(el).attr('href') != clickedHref) {
            linkshref[i] = $(el).attr('href');
        }
    });
    for (var i = 0; i < linkshref.length; i++) {
        $(linkshref[i]).removeClass('active in');
    }
    $(clickedHref).addClass('active in');

});

小提琴:http://jsfiddle.net/bko5g95e/4/