2016-06-24 71 views
-1

我怎麼能一個類添加到我的HTML元素作爲字符串如何添加類作爲與JavaScript字符串的元素?

這樣的:

'.step1{transform : translate(10px,10px); transition-duration: 1s;}' 

我已經試過jQuery的addClass但只需要類的名稱不是一個字符串作爲整個類。

的問題是,我想動態生成的一類,然後使用removeClass刪除它,如果我將其添加爲CSS它不可能伊斯利

+2

什麼!你的意思是整個上面的字符串是類? –

+1

您需要直接插入CSS屬性部分作爲樣式屬性。 –

+2

你是指'爲我的thml元素添加一個類作爲一個字符串?你想添加_css_屬性_directly_? –

回答

1

這刪除它應該做的伎倆。如果你懸停第二個盒子,第一個盒子會移動。

$('.two').mouseenter(function(){ 
 
    $('.one').addClass('move'); 
 
}); 
 

 
$('.two').mouseleave(function(){ 
 
    $('.one').removeClass('move'); 
 
});
.one, .two { 
 
    background-color:green; 
 
    width:100px; 
 
    height:100px; 
 
    transition-duration: 1s; 
 
} 
 

 
.two { 
 
    background-color:red; 
 
} 
 

 
.move { 
 
    transform: translate(100px, 100px); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='one'> 
 
    
 
</div> 
 

 
<div class='two'> 
 
    
 
</div>

+0

好。應該已經想到了_hover_/_mouseenter/leave_事件,而不是愚蠢的按鈕:P –

+0

的問題是,我想動態生成類,然後使用removeClass –

+0

@HussanBashiri這正是這裏發生了什麼刪除它,什麼還不清楚到底是什麼? – Randy

1

這可以幫助你,這絕不添加任何class,它將直接造型添加到divaddClass()/removeClass()只會用於添加/刪除class。在這裏傳遞的參數將是一個class名稱。

$('.targetDiv').CSS({"transform" : "translate(10px,10px)", "transition-duration": "1s"}); 
+0

問題是我想要動態生成一個類,然後使用removeClass將其刪除,如果我將它添加爲css,則無法將其輕鬆移除 –

1

如果您已經使用jQuery然後用css() function瞭解更多here

我希望它能幫助。

$(".step1").css({"transform": "translate(10px,10px)", "transition-duration": "1s"}); 
+0

問題是我想動態生成一個類,然後使用removeClass將其刪除,如果我添加它作爲css它不可能很容易地刪除它 –

+0

你可以很容易地改變這個'css' –

1

我添加例子。
一個將添加到div並將其放置在其中。 我已經添加了一個jQuery的功能,適用的CSS到div 沒有添加一個類。

jsfiddle here

$('#add_class').on('click', function(){ 
 
\t $("#my_first_div").addClass("step1"); 
 
}); 
 

 
$("#add_css").on('click', function(){ 
 
$("#my_first_div").css("transform", "translate(10px,10px)"); 
 
$("#my_first_div").css("transition-duration", "1s"); 
 
}); 
 

 
$("#reset").on('click', function(){ 
 
\t \t $("#my_first_div").removeClass("step1"); 
 
$("#my_first_div").css("transform", "translate(0px,0px)"); 
 
$("#my_first_div").css("transition-duration", "1s"); 
 
});
#my_first_div { 
 
    color:red; 
 
} 
 
.step1{transform : translate(10px,10px); transition-duration: 1s;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 
 
<div id="my_first_div"> 
 
my div 
 
</div> 
 

 
<br /><br /><button id="add_class"> 
 
add class 
 
</button> 
 
<button id="add_css"> 
 
add css 
 
</button> 
 
<button id="reset"> 
 
reset 
 
</button>

解釋:與addClass事件類將被添加到DIV並應用在CSS樣式documentation addclass

how to remove the class

隨着CSS事件CSS樣式將被應用到div 沒有在CSS設置它,你可以看到一個例子和文檔here

+0

優秀的答案。使用正確的工具很好。 – Randy

+1

我認爲所有的問題都是如何編寫'.step1 {transform:translate(10px,10px); transition-duration:1s;}'動態。也許OP是編碼HTML編輯器或任何需要一些可重用/可編輯的CSS規則。雖如此,但問題是完全地不清楚恕我直言,你的答案是添加通常的方式/刪除特定的元素類或內聯屬性 –

+0

正是我試圖像編輯器創造的東西 –

相關問題