javascript - jQuery "or" operator not working on mouseleave? -
$('.submenu' || '#categorymenu_100000')
seems work on .submenu
:
$(document).ready(function () { $('li a').on("mouseenter", function () { if ($(this).attr('href') == "/pages/men") { $('#categorymenu_100000 .submenu').show(); } }); $('.submenu' || '#categorymenu_100000').on("mouseleave", function () { $('.submenu').hide(); });
'.submenu' || '#categorymenu_100000'
javascript expression results in '.submenu'
, because '.submenu'
truthy value – it’s string , isn’t empty. ||
picks first truthy value of operands.
if want select elements match either of selectors, you’ll need use css separator that: ,
. jquery works on css selectors , not javascript expressions (it not magic).
$('.submenu, #categorymenu_100000').on('mouseleave', …);
Comments
Post a Comment