![](/img/trans.png)
[英]How to color text a li tag of the ul tag by Javascript or Jquery?
[英]Green color of a <li> tag using javascript and jquery
我的書顯示了javascript和jquery之間的區別,但兩個腳本均無效。 我可以看到兩個作品嗎?
<!DOCTYPE html>
<html>
<head>
<style type="text/css" src="myCss.css"></style>
<script>
(function(document){
document.onload = function(){
content.style.display = "block";
}
var listItems = document.getElementsByTagName("li");
for(i = 0; i < listItems.length; i++){
listItems[i].onclick = function{
listItems[i].style.backgroundColor = "green";
}
}
})( document );
</script>
</head>
<body>
<ul id="content" class="contentClass">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style type="text/css" src="myCss.css"></style>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$( "#content" ).show();
$( "li" ).click(function(this){
this.css( "backgroundColor","green" );
});
});
</script>
</head>
<body>
<ul id="content" class="contentClass">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</body>
</html>
我試圖對兩者都做modicfiche,但我還沒有解決。 我發現括號的顯示方式很糟糕,腳本的位置很尷尬。
jQuery,嘗試:
$("li").on('click', function(){
$(this).css("backgroundColor", "green");
});
本機js:
for(i = 0; i < listItems.length; i++){
listItems[i].onclick = function{
this.style.backgroundColor = "green";
}
}
對於javascript版本,
()
放在function
或其語法錯誤之后。 this
而不是listItems[i].style
因為那樣您必須正確地進行閉包以傳遞i
,這是更復雜的路由。 點擊處理程序中的this
將引用被點擊的li
本身 (function(document){ document.onload = function(){ content.style.display = "block"; } var listItems = document.getElementsByTagName("li"); for(i = 0; i < listItems.length; i++){ listItems[i].onclick = function(){ this.style.backgroundColor = "green"; } } })( document );
<ul id="content" class="contentClass"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul>
對於jQuery版本,
this
傳遞給點擊處理程序 $(this)
代替this
因為您正在調用jQuery函數css()
並需要jQuery對象( $(this) ) $(document).ready(function(){ $( "#content" ).show(); $( "li" ).click(function(){ $(this).css( "background-color","green" ); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> <ul id="content" class="contentClass"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul>
采用
$("li").click(function() {
$(this).css("background-color", "green");
});
嘗試這個:
$(this).css("background-color", "green");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.