这是一个非常快速的问题:)
只是想知道这里是否有可能让javascript选择不属于DOM的对象...比如选择CSS创建的内容:after或:before内容?
例如...如果我有一个div并通过创建一个框
div:after{
content: '.';
display: block;
width: 200px;
height: 200px;
background: green;
}
Run Code Online (Sandbox Code Playgroud)
我仍然很难理解这些元素是如何创建的,因为它们可以在屏幕上绘制元素但不是DOM的一部分,这是否意味着它不可能与它们交互?
干杯
有没有办法使这个解决方案IE6和IE7兼容?
http://jsfiddle.net/kirkstrobeck/sDh7s/1/
我想我找到了一个真正的解决方案.我把它变成了一个新功能:
jQuery.style(name, value, priority);
你可以用它来获取值.style('name')一样.css('name'),获得与CSSStyleDeclaration上.style(),并设置值-有能力来指定优先级为"重要".请参阅https://developer.mozilla.org/en/DOM/CSSStyleDeclaration.
var div = $('someDiv');
console.log(div.style('color'));
div.style('color', 'red');
console.log(div.style('color'));
div.style('color', 'blue', 'important');
console.log(div.style('color'));
console.log(div.style().getPropertyPriority('color'));
Run Code Online (Sandbox Code Playgroud)
这是输出:
null
red
blue
important
Run Code Online (Sandbox Code Playgroud)
// For those who need them (< IE 9), add support for CSS functions
var isStyleFuncSupported = CSSStyleDeclaration.prototype.getPropertyValue != null;
if (!isStyleFuncSupported) {
CSSStyleDeclaration.prototype.getPropertyValue = function(a) {
return this.getAttribute(a);
};
CSSStyleDeclaration.prototype.setProperty = function(styleName, value, priority) {
this.setAttribute(styleName,value);
var priority = typeof priority …Run Code Online (Sandbox Code Playgroud) javascript css jquery internet-explorer-7 internet-explorer-6
我需要为我的元素动态创建我的CSS样式.但是,我需要:在CSS之后我听说你不能在jQuery中修改它.
这是真的?有没有办法解决?
A simple enough question, so briefly - is it possible to remove or alter in anyway a CSS pseudo class using jQuery? Or any other Javascript method for that matter
Specifically I want to get rid of :focus on inputs. I can't alter the CSS file directly in any way.
thanks for any help
Buster
甚至可以用jQuery更改伪类吗?有没有解决方法来实现这一目标?
在我的CSS中我有这个:
#panel li:hover {
background-color: #ffa;
}
Run Code Online (Sandbox Code Playgroud)
在某种情况下,我想禁用从li项目悬停样式,如:
function start() {
$('#panel li').ignoreHoverRules();
}
Run Code Online (Sandbox Code Playgroud)
并在以后重新启用它:
function end() {
$('#panel li').reenableHoverRules();
}
Run Code Online (Sandbox Code Playgroud)
有可能吗?不确定如何在运行时"启用"或"禁用"悬停样式规则,
谢谢
我知道如何在单个标签上应用css(或改变它上面的类),但这不是我要求的!
我想修改CSS类中的属性而不触及应用类的元素.
换句话说,如果这是css
.myclass {
font-size: 14px;
color: #aab5f0;
}
Run Code Online (Sandbox Code Playgroud)
这是html
<span id="test" class="myclass"> foo bar </span>
Run Code Online (Sandbox Code Playgroud)
增加span标签的字体我想修改类的内容而不是做类似的事情
var fontsize = parseInt($('#test').css('font-size').replace(/[^-\d\.]/g, ''));
fontsize += 10;
$('#test').css('font-size', fontsize+'px');
Run Code Online (Sandbox Code Playgroud)
我希望课程成为
.myclass {
font-size: 18px;
color: #aab5f0;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法通过Javascript更改实际的类?
我的另一个解决方案是将css放入一个容器中,每次都重新装满容器,但我感觉这不是一个好主意......
我已经将::selection颜色设置为css,因此当您在屏幕上突出显示文本时,文本的颜色为粉红色.我正试图在页面加载时通过jQuery覆盖该颜色.好像它应该是超级简单的.但这对我不起作用.
编辑:问题演变成如何优化大规模的CSS更改为700或更多的div.我将离开下面的旧问题来描述我原来的方法.
我有以下jQuery但它没有像我期望的那样表现.有大约700个div与类gr,所以隐藏它们需要一个明显的时间.我想做:
"工作"可以追溯到"显示/隐藏发音"
$(document).ready(function () {
$('#togglePron').click(function() {
$('#togglePron').html("Working...");
$('div.gr').toggle();
$('#togglePron').html("Show/hide Pronunciation");
});
});
...
...
<div class="pronlink" id="togglePron">Show/hide P</div>
<div class="gr">hai</div><div class="zi">A</div>
<div class="gr">nao</div><div class="zi">B</div>
etc.
Run Code Online (Sandbox Code Playgroud)我观察到的行为是"显示/隐藏P"需要一个明显的时间来改变,然后它会短暂地改变为"工作",然后它会回到"显示/隐藏".那么jQuery将html()和.toggle()聚合在一起,而不是首先运行html()吗?
这似乎是浏览器特定的,因为在Opera中它做我想要的.在IE 7和Chrome 18中,行为如我所述.有没有办法让Chrome中我想要的行为发生?或者更好的方式来做我描述的事情?
我创建了一个覆盖页面上某些元素的悬停的函数.它在正常和悬停效果之间消失.我必须在我的CSS文件中创建一个.hover类.我觉得这有点不干净.我怎么能读到:hover伪类内容?