在下面的代码中,我标记了<div>
“LINE BELOW”。我需要设置css后台属性,但无论我如何尝试jQuery或JavaScript中的语法,它似乎永远不会识别出来!为什么它不接受我的CSS定义?
作为奖励向我解释如何覆盖其中包含!important
的现有背景属性。
这是我在目标网站上的大致方案:
<div id="main-content">
<div id="detailblock">
<div class="tabsblock">
<section class="editblock">
<form id="target">
<div class="editblock-item">
<div class="input textarea">
<div class="editor_box">
//LINE BELOW:
<div class="editor_ editor_text">
//Something inside of div...
</div>
</div>
</div>
</div>
</form>
</section>
</div>
</div>
</div>
我试过这个并且在研究期间发现它并没有起作用:
jQuery(".editor_.editor_text").css("background","#000 none repeat scroll 0% 0%");
我做错了什么?
更新
我刚刚使用css()测试并着色了蓝色的所有div。他们都工作,除了特定的一个。但是如果我使用remove()删除所有div,它将被删除所有div。但是如果我使用它的选择器删除那个特定的div,它就不会被删除!
答案 0 :(得分:1)
你并没有真正选择具有复杂类名的<div>
;您正在尝试选择分配了两个类名的<div>
。您的jQuery选择器不必包含这两个类名;要么会这样做,不过你当然可以指定两者。 $("div.editor_")
是否选择了要更改的元素?是$("div.editor_text")
吗?
一旦找到了正确的选择器,就可以在所选元素上调用jQuery的.css
方法:
$(...).css("background", "blue");
或者你可以直接编辑所选元素的样式属性(如,不是通过jQuery)。如果您试图覆盖CSS !important
指令,我相信这是您必须使用的方法:
$(...)[0].style.setProperty("background", "blue", "important");
(这是有效的,因为现在两个CSS规则被标记为同等重要!应用程序的顺序决定了你设置的那个规则将胜出。)
答案 1 :(得分:0)
你有一个拼写错误,两个编辑器之间有一个额外的空格:
<div class="editor_ editor_text">
在没有这个小提琴的额外空间的情况下工作正常:http://jsfiddle.net/yutzjbjr/
修改强>
我现在看到涉及两个类。您应该在问题中包含您的jquery 。
但是仍然适用于两个类:http://jsfiddle.net/yutzjbjr/1/
你可以阅读控制台吗?