2016-04-21 9 views
1

Ich möchte die Klasse body für eine bestimmte div ändern und die Standardeinstellung wiederherstellen, wenn die div ändert.Ändern der Body-Klasse für ein Div und Wiederherstellen der Standardeinstellung, wenn div ändert

zB: <div id='test'></div> #class des Körpers als neue

`<div id ='test2'> </div>` #class of the body as default 

Vielen Dank im Voraus!

+1

tun haben Sie die Kontrolle, wenn die div Änderungen? –

+0

nein ich habe keine Kontrolle. @Reddy – sharon

+0

verdammt !!! Das ist in der Tat eine gute Frage. –

Antwort

0

Dies ist möglicherweise nicht der effiziente Weg. Aber da du nach einem Beispiel gefragt hast, biete ich an.

Es gibt nur wenige Werkzeuge zur Verfügung, für diese Art von Arbeit wie Mutation Observer und seinen Browser Compatibality

Aber wenn Sie eine schmutzige Arbeit wollen um dann unten ist meine Probe.

Sie können Jquery verwenden, um die div-ID für alle x Sekunden zu überprüfen und die body-Klasse entsprechend einzustellen. Hier ist ein Beispielcode.

//demo purpose, this script toggles the div id to be test and test2 for each click. 
 
$('button').on('click', function() { 
 
    var currID = $('.demo').attr('id'); 
 
    if (currID === "test") { 
 
    $('.demo').attr('id', "test2"); 
 
    } else { 
 
    $('.demo').attr('id', "test"); 
 
    } 
 
}); 
 

 

 
//below is the actual logic, this will change the body class according to div id 
 
setInterval(function() { 
 
    var currID = $('.demo').attr('id'); 
 
    if (currID === "test") { 
 
    $('body').removeClass('default').addClass('new'); 
 
    } else { 
 
    $('body').removeClass('new').addClass('default'); 
 
    } 
 
}, 100); // run this interval every 100 miliseconds, you can set it to your preference
.new { 
 
    background-color: green; 
 
} 
 
.default { 
 
    background-color: gray; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<body class="new" style="height:200px;"> 
 
    <div id="test" class="demo"></div> 
 
    <button>Toggle Div's Id</button> 
 
</body>

+0

Downwoters bitte meinen Fehler kommentieren. –

Verwandte Themen