如何选择列表中的最后一个LI并使用jQuery将其变为红色?
How would I select the last LI in the list and turn it red with jQuery?
我对JS和jQuery还是个新手。这是我必须尝试的代码,并将组中的最后一个LI文本更改为红色。
下面是要引用的HTML代码:<div id="content">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
这是我想出的jQuery代码:
$('#content').change(function () {
$(this).find('li:nth-child(3)').css('color', 'red');
});
您可以使用:last
来选择最后一个li
,如下所示:
$('#content ul li:last').css('color', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
这样做:
$("#content ul li:last-child").css({"color": "red"});
希望对大家有所帮助
其他答案已经展示了如何使用jQuery实现它。但是,如果你的列表是动态的(项目可以添加和删除),你最好使用styles
<style>
#content li:last-child {
background: #ff0000;
}
</style>
,否则您将不得不观察DOM更改。
在完整的javascript中,你可以这样写:
// for the first example I addressed the element before the last
//
// To get the last element: lis.length - 1
var lis = document.getElementById('content')
.getElementsByTagName('ul')[0].getElementsByTagName('li');
lis[lis.length - 2].style.color='yellow';
// OR
document.querySelectorAll('#content ul li:last-child')[0].style.color='red'
<div id="content">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
有很多方法可以做到这一点。我用三个方法实现。不使用jquery和使用jquery。尝一个吧。希望这对你有帮助。
<html>
<head></head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<style>
div#content1 ul li:last-child{ /* here we choose, div with id= content1, inside that div get the ul , inside that ul, gets the last element of li elements*/
color:red;
}
</style>
<body>
<h2>Method one : Without js, using only css</h2>
<div id="content1">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
<hr>
<h2>Method two : Using jquery</h2>
<div id="content2">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
<hr>
<h2>Method three : Using jquery</h2>
<div id="content3">
<div>
<div>
<ul>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
</ul>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//For method two
$("div#content2 ul li:last-child").css({"color":"red"});//like in the css, we get the last element of li in side ul, inside the div which its id=content2
//For method three using the index. in you case the last element of li index is 3
$("div#content3 ul li").eq(3).css({"color":"red"});
</script>
</html>
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 使用jQuery以红色和黑色闪烁文本
- 如果背景为红色,则jQuery无法识别错误,看起来很容易但很固执
- Jquery sortable未显示红色箭头
- 如何使用jQuery在表单上以红色字体显示错误消息
- 如何使用jQuery验证美国邮政编码,并在Bootstrap模板的文本字段上方显示红色错误消息
- Jquery CSS验证里面输入没有消息红色文本问题
- 如何判断一个像素的颜色是否为红色?与jquery()
- jquery验证中的文本错误弹出不是红色的
- 如何选择列表中的最后一个LI并使用jQuery将其变为红色?
- jQuery更改单元格背景为红色的负值
- asp.net TextBox需要是红色的,如果没有检查.使用JS / jQuery