如何以我想要的方式在 jQuery 中使用 "attr()"?
How do I use "attr()" in jQuery in the way I want to?
这是我的代码:
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
标签的属性信息。当我将鼠标悬停在包含 span
标签的 li
标签上时,它运行良好。当我尝试从 li
标签获取属性时,无论我将鼠标悬停在任何li
可用标签....
您的 select 或 $('#menu_top span')
正在 selecting #menu_top
父元素下的所有 span
元素。当您尝试 select id
返回数组的属性时,返回的值将始终是数组中第一个元素的 id
。
要解决您遇到的问题,请使用 $(this).find('span')
到 select 当前悬停的 li
的 span
元素。
这是我的代码:
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
标签的属性信息。当我将鼠标悬停在包含 span
标签的 li
标签上时,它运行良好。当我尝试从 li
标签获取属性时,无论我将鼠标悬停在任何li
可用标签....
您的 select 或 $('#menu_top span')
正在 selecting #menu_top
父元素下的所有 span
元素。当您尝试 select id
返回数组的属性时,返回的值将始终是数组中第一个元素的 id
。
要解决您遇到的问题,请使用 $(this).find('span')
到 select 当前悬停的 li
的 span
元素。