当将鼠标悬停在div上时,如何将一个类添加到另一个div?

时间:2014-03-30 21:50:31

标签: javascript css hover

所以我有一张包含2个div的表。每个div包含一个图像和一些文本。我希望当悬停其中一个div时,另一个div的元素(所有元素)都会变得模糊。

// HTML

             <table>
                <tbody>
                    <div id="1">
                        <tr>
                            <td rowspan="3"><img src="url"/></td>
                            <td><h2>Lorem ipsum</h2></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Clients:</span> Lorem / Ipsum</p></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Scope:</span> Lorem ipsum dolor sit amet</p></td>
                        </tr>
                    </div>    
                        <tr class="separator">
                            <td colspan="2"></td>
                        </tr>
                    <div id="2">    
                        <tr>
                            <td rowspan="2"><img src="url"/></td>
                            <td><h2>Lorem</h2></td>
                        </tr>
                        <tr>
                            <td><p><span class="important">Scope:</span> Lorem ipsum dolor sit amet</p></td>
                        </tr>
                    </div>
                </tbody> 
            </table>

我创建了类.blur以通过js影响想要的div,但不知何故,它不起作用,文本和图像都不模糊。

// CSS

.blur {
color: transparent;
text-shadow: 0 0 8px rgba(0,0,0,0.5);
 -webkit-filter: blur(10px);}

// JS

$(document).ready(function() {
$('#1').hover(function() {
    $('#2').addClass('.blur');
}, function() {
    $('#2').removeClass('.blur');
});

$('#2').hover(function() {
    $('#1').addClass('.blur');
}, function() {
    $('#1').removeClass('.blur');
});});

这是jsfiddle:http://jsfiddle.net/52v9y/

我在哪里错过了什么?

3 个答案:

答案 0 :(得分:2)

请参阅此更新jsfiddle

.addClass函数中指定类时,不需要removeClass,因为它们接受的唯一参数是类属性。您的html也无效,因为只有tr个元素才能成为tbody的直接子级。

答案 1 :(得分:1)

这不是有效的HTML代码。您无法将div放在table代码的中间。这就是为什么它不起作用。

你也没有包含jQuery。我已经更新了小提琴,你可以看看:http://jsfiddle.net/52v9y/2/

答案 2 :(得分:0)

放弃div元素以获得有效的HTML。您的选择器中的类名称没有Leasing dot,正如其他贡献者所建议的那样。将类分配给tr元素。根据您的实际用例,考虑调整事件处理程序中的类选择器(例如$("#1 td.whatever")