Как изменить свойство css с помощью javascript

Я хочу изменить свойство CSS класса с помощью JavaScript. То, что я на самом деле хочу, это когда div находится в hoverd, другой div должен стать видимым.

Мой css как..

.left, .right{
    margin:10px;
    float:left;
    border:1px solid red;
    height:60px;
    width:60px
}
.left:hover, .right:hover{
    border:1px solid blue;
}

.center{
    float:left;
    height:60px;
    width:160px
}

.center .left1, .center .right1{
    margin:10px;
    float:left;
    border:1px solid green;
    height:60px;
    width:58px;
    display:none;
}

И HTML файл похож на..

<div class="left">
    Hello
</div>
<div class="center">
       <div class="left1">
           Bye
    </div>
       <div class="right1">
           Bye1
    </div>    
</div>
<div class="right">
    Hello2
</div>

Когда hello1 div наведен, bye1 div должен быть видимым, и аналогичным образом bye2 должен появиться, когда hello2 наведен.

http://jsfiddle.net/rohan23dec/TqDe9/1/

Ответ 1

Для этого можно использовать свойство style. Например, если вы хотите изменить границу -

document.elm.style.border = "3px solid #FF0000";

аналогично для цвета -

 document.getElementById("p2").style.color="blue";

Лучше всего определить класс и сделать это -

document.getElementById("p2").className = "classname";

(Артефакты Cross Browser должны учитываться соответственно).

Ответ 2

Используйте document.getElementsByClassName('className').style = your_style.

var d = document.getElementsByClassName("left1");
d.className = d.className + " otherclass";

Используйте одинарные кавычки для строк JS, содержащиеся в двойных кавычках атрибутов html

Пример

<div class="somelclass"></div>

тогда document.getElementsByClassName('someclass').style = "NewclassName";

<div class='someclass'></div>

затем document.getElementsByClassName("someclass").style = "NewclassName";

Это личный опыт.

Ответ 3

var hello = $('.right') // or var hello = document.getElementByClassName('right')
var bye = $('.right1')
hello.onmouseover = function()
{
    bye.style.visibility = 'visible'
}
hello.onmouseout = function()
{
    bye.style.visibility = 'hidden'
}

Ответ 4

Только для информации это можно сделать с помощью CSS только с небольшими изменениями HTML и CSS.

HTML:

<div class="left">
    Hello
</div>
<div class="right">
    Hello2
</div>
<div class="center">
       <div class="left1">
           Bye
    </div>
       <div class="right1">
           Bye1
    </div>    
</div>

CSS

.left, .right{
    margin:10px;
    float:left;
    border:1px solid red;
    height:60px;
    width:60px
}
.left:hover, .right:hover{
    border:1px solid blue;
}
.right{
     float :right;
}
.center{
    float:left;
    height:60px;
    width:160px
}

.center .left1, .center .right1{
    margin:10px;
    float:left;
    border:1px solid green;
    height:60px;
    width:58px;
    display:none;
}
.left:hover ~ .center .left1 {
    display:block;
}

.right:hover ~ .center .right1 {
    display:block;
}

и DEMO: http://jsfiddle.net/pavloschris/y8LKM/

Ответ 5

Это очень просто, используя jQuery.

Например:

$(".left").mouseover(function(){$(".left1").show()});
$(".left").mouseout(function(){$(".left1").hide()});

Я обновляю вашу скрипку: http://jsfiddle.net/TqDe9/2/

Ответ 6

С помощью Jquery:

парить (...)

$(".left").hover(function(){ $(".left1").toggle() } );
$(".right").hover(function(){ $(".right1").toggle()} );

JSFiddle