什么是以下的javascript等价物?

时间:2013-01-24 08:39:15

标签: javascript jquery jquery-ui

如何使用vanilla javascript实现这一目标?以下使用jQuery语法。

$(function(){
    $("ul.dropdown li").hover(
        function(){
            $(this).addClass("hover"); 
            $('ul:first',this).css('visibility', 'visible');
        },
        function(){
            $(this).removeClass("hover");
            $('ul:first',this).css('visibility', 'hidden');
        }
    );
    $("ul.dropdown li ul li:has(ul)").find("a:first").append(" » "); 
});

1 个答案:

答案 0 :(得分:0)

这样的事情是类似的:

document.body.addEventListener(
    'load',
    function(){
        var elements = document.querySelectorAll("ul.dropdown li");
        for(var i = 0, l = elements.length; i < l; i++){
            var e = elements[i];
            e.addEventListener('mouseover', function(e){
                e.setAttribute('class', e.getAttribute('class') + ' hover');
                document.querySelector("ul.dropdown li").style.visibility = 'visible';
                e.style.visibility = 'visible';
            })
            e.addEventListener('mouseout',  function(e){
                e.setAttribute('class', e.getAttribute('class').replace(' hover',''));
                document.querySelector("ul.dropdown li").style.visibility = 'hidden';
                e.style.visibility = 'hidden';
            })
        }
        document.querySelector("ul.dropdown li ul li:has(ul)").querySelector("a:first").innerHTML += " &raquo; "; 
    }
)

(但不一样)