JQuery:语法帮助

时间:2013-10-27 06:57:57

标签: javascript jquery html css

基本上,我有两个完全相同的列表。当我将鼠标悬停在其中一个列表上时,我希望两个列表中的项目都略微不透明。

我多次使用过JavaScript;然而,不是最近。在我相对熟悉JavaScript之前,我一直拒绝使用JQuery。现在我想我会尝试重新制作一些我刚才做的东西,但我不能完全确定我做得对。

我有这个代码,它应该在一个ul中找到所有li元素,其中一个navlist类的文本与被鼠标匹配的那个匹配,并将它的不透明度设置为0.7。不幸的是,这不起作用。任何关于为什么会受到赞赏的想法。

$(".NavList li:contains('" + $(lbutt).text() + "')").css("opacity:0.7;");

编辑: 此代码在函数内。当链接被覆盖时,它将“this”传递给lbutt。

编辑#2: 谷歌开发者控制台不会抛出任何错误。

编辑#3: 答案是:

$(".NavList li:contains('" + $(lbutt).text() + "')").css("opacity","0.7");

2 个答案:

答案 0 :(得分:2)

我做了一个jsfiddle,显示了如何在这里做类似的事情: http://jsfiddle.net/AAvDN/

HTML:

<ul class="hoverme">
    <li>one</li>
    <li>two</li>
</ul>

<ul class="navlist">
    <li>one</li>
    <li>two</li>
</ul>

JavaScript的:

$(".hoverme li").hover(function() {
    var what = $(this).text();
    $(".navlist li:contains('" + what + "')").css("color", "red");
}, function() {
    $(".navlist li").css("color", "black");
});

我看到的主要语法错误是您使用的是.css("opacity:0.7")而不是.css("opacity", "0.7")

答案 1 :(得分:1)

我会这样做:

$('.YourClass li').hover(function(){
var txt = $(this).text(); // get the text of hovered element
$('NavList li').each(function(){ // loop through your li elements to check if text is the same
    if ($(this).text() == txt){
        $(this).css('opacity','0.7'); // set your CSS rules
    }
});
});