当您只知道 parent 时,jquery 更改一些具有特定 css 的 child 的 css

标签 jquery css

这是一个非常理论化的问题...

假设我有一个已知的“ul”,并且在这个“ul”中有一个背景不是灰色而是白色的“li”,我想选择这个“li”并更改它的文本......会怎样是在 jQuery 中执行此操作的方法吗?

我可以用这个找出“li”:

$("ul#menu1").children().css("background-color", "white")

现在我如何编写命令来改变它的文本是:

.html("new text")

但是我如何将它们链接在一起呢?这是我的问题...谢谢!

最佳答案

您现有的代码行:

$("ul#menu1").children().css("background-color", "white")

...如果没有找到已经具有白色背景的特定 li 元素,它会选择所有 li 元素并将它们的背景更改为白色。如果你只想选择背景已经是白色的元素,你可以这样做:

$("#menu1 li").filter(function() {
   return $(this).css("background-color") === "white";
}).html("new text");

尽管您可能会发现 .css("background-color") 会返回类似 "rgb(255, 255, 255)" 的字符串,即使您 < em>设置颜色为字符串"white",在这种情况下:

$("#menu1 li").filter(function() {
   var bc = $(this).css("background-color");
   if (bc) bc = bc.replace(/\s/g,"").toLowerCase();
   return bc === "white" || bc === "rgb(255,255,255)" || bc === "#fff" || bc === "#ffffff";
}).html("new text");

演示:http://jsfiddle.net/XfDy3/

关于当您只知道 parent 时,jquery 更改一些具有特定 css 的 child 的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17772212/

相关文章:

javascript - 拖动 div 正在创建更多 div

jQuery CSS 自定义弹出菜单样式问题

javascript - 为 Google Insights 加载谷歌字体的非阻塞方式

php - 基于表单中的onChange事件动态构建AJAX请求

javascript - 复制 HTML div 的值

javascript - 如何从一个点(X 和 Y 坐标)创建一个范围对象?

强制执行浏览器颜色的 CSS Sprites

jquery - JQPlot - 使 y 轴仅是整数?

html - 悬停状态下的奇怪重新对齐

php - 如何让 PHP 压缩 JS 和 CSS 代码?