如何以我想要的方式在jQuery中使用“ attr()”?

时间:2018-10-26 13:16:49

标签: jquery html css attributes attr

这是我的代码:

let timer = {};
$('#menu_top li').hover(function () {
    let tag = $(this);
    let timerAttr = tag.attr('data-timer');
    let menudowniconrotate = $('#menu_top span').attr('id') ;
    alert(menudowniconrotate) ;

    clearTimeout(timer[timerAttr]);
    timer[timerAttr] =setTimeout(function () {
        $('#'+ menudowniconrotate).css({
            "-webkit-transform": "rotate(180deg)",
            "-moz-transform": "rotate(180deg)",
            "transform": "rotate(180deg)"});
        $(' > ul', tag).fadeIn(200);
        tag.addClass('activemenu') ;
        $(' > .submenu3', tag).fadeIn(200) ;
    }, 300)

我想分别获取代码中每个span标签的属性信息。当我将鼠标悬停在包含该li标签的span标签上时,它可以完美工作。当我尝试从li标签获取属性时,无论是否将鼠标悬停在任何span函数上,它都只能使用li函数获取第一个attr()标签属性中的第一个li before execute标签可用...。

1 个答案:

答案 0 :(得分:0)

您的选择器$('#menu_top span')正在选择父级span下的所有#menu_top元素。当您尝试选择返回数组的id属性时,返回的值将始终是数组中第一个元素的id

要解决您遇到的问题,请使用$(this).find('span')选择当前悬停的span的{​​{1}}元素。