这是我的代码:
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
标签可用...。
答案 0 :(得分:0)
您的选择器$('#menu_top span')
正在选择父级span
下的所有#menu_top
元素。当您尝试选择返回数组的id
属性时,返回的值将始终是数组中第一个元素的id
。
要解决您遇到的问题,请使用$(this).find('span')
选择当前悬停的span
的{{1}}元素。