我想用classLiregion2
更改所有div
s的背景色。我只想更改
div
背景色,而不是li
。但是,我的代码只更改了一个div
元素!我怎样才能让它影响到所有人?
以下是我的HTML5代码:
<div class = "Liregion2" id = "LineBock1" style ="padding-bottom:3%;padding-left:10%;background-color:#ff9900">
<li>
<a href="#" id = "FirstLine" style="color:#fff;text-decoration: none" >1號線</a>
</li>
</div>
<div class = "Liregion2" id = "LineBock2" style ="padding-bottom:3%;padding-left:10%;">
<li>
<a href="#" id = "SecondLine" style="color:#009999;text-decoration: none" >2號線</a>
</li>
</div>
<div class = "Liregion2" id = "LineBock3" style ="padding-bottom:3%;padding-left:10%;">
<li>
<a href="#" id = "ThirdLine" style="color:#ff3366;text-decoration: none" >3號線</a>
</li>
</div>
<div class = "Liregion2" id = "LineBock4" style = "padding-left:10%;">
<li>
<a href="#" id = "ForthLine" style="color:#0066ff;text-decoration: none" >4號線</a>
</li>
</div>
这里是JQuery:
$('#FirstLine').click(function(){
$('.Liregion2').each(function( index , element ){
$(element).css("background-color" , "transparent");
});
event.stopPropagation();
});
不需要那种复杂的代码,。css()
函数自身遍历元素,并将css应用于所有元素。
$('#FirstLine').click(function() {
$('.Liregion2').css("background-color" , "transparent");
});
您不需要遍历每个元素。试试这个,
$('#FirstLine').click(function(){
$('.Liregion2').css("background-color" , "transparent");
event.stopPropagation();
});
css
方法在幕后迭代集合,没有必要使用每个循环。此外,您的标记是无效的,li
元素应该是ul
/ol
元素的子元素。div
元素应替换为上述元素之一(尽管它不是语义标记)。
似乎您只想操作父元素的css
属性。如果是这种情况,您可以使用。最近的()
或。父()
方法:
// Do not miss the `event` object if you want to use it
$('.Liregion2 a').click(function(event) {
$(this).closest('.Liregion2').css("background-color" , "transparent");
event.stopPropagation();
});
建议避免使用内联样式,这样会使标记无法维护。您可以声明CSS类,并使用jQueryremoveClass
和addClass
方法添加/删除它们。
问题内容: 我有3个div。 像这样: 他们将充满文字。我不确定多少。问题是,所有高度都必须相等。 我如何使用jQuery(或CSS)查找DIV最高的并将其他两个设置为相同的高度,从而创建3个相等高度的DIV。 这可能吗? 问题答案: 您不能轻松地通过高度选择或在CSS中进行比较,但是jQuery和一些迭代应该可以轻松解决此问题。我们将遍历每个元素并跟踪最高的元素,然后再次遍历并将每个元素的高度设
问题内容: 我需要使用jQuery更改元素的ID。 显然这些不起作用: 我发现可以通过以下代码实现它: 但这对我来说似乎不对。必须有更好的方法,不是吗?另外,如果没有,我可以使用什么其他方法代替显示/隐藏或其他效果?显然,我不想每次都仅显示/隐藏或影响元素,而只是更改其ID。 (是的,我是jQuery新手。) 编辑 在这种情况下,我不能使用类,我必须使用ID。 问题答案: 您的语法不正确,应将值作
问题内容: 我想将CSS文件应用于页面中的具体DIV。这是页面结构: 我试图应用CSS文件的规则来编辑它(CSS文件太大): 但是该解决方案不起作用。那么,我该怎么做呢? 问题答案: 您可以尝试: 等等,这就是您想要的吗?
问题内容: 我有以下代码 如何将标签替换为标签,但保留所有其他属性和信息? 问题答案: 这是使用jQuery的一种方法: 更新 ,这是一个插件:
问题内容: 我有一个CSS课 我想使用Jquery在事件上执行类似的操作: 这行不通。这是错误的方法吗?我应该使用addClass()和removeClass()吗? 编辑:我想出了我的问题。实际上,此命令是有效的。在我的特定应用程序中,在使用命令之前,我没有使用类创建元素,因此在创建元素时,没有任何改变。 基本上,此命令不会更改CSS样式规则,只会更改使用该类的元素。 问题答案: 将在页面上找到
问题内容: 是否可以通过JavaScript更改CSS伪元素样式? 例如,我想像这样动态设置滚动条的颜色: 而且我还希望能够告诉滚动条这样隐藏: 但是,这两个脚本都返回: 未捕获的TypeError:无法读取null的属性“样式” 还有其他解决方法吗?跨浏览器的互操作性并不重要,我只需要它在Webkit浏览器中即可工作。 问题答案: 编辑 : 从技术上讲,有一种通过JavaScript直接更改CS