Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript css选择器的开/关_Javascript_Html_Css - Fatal编程技术网

Javascript css选择器的开/关

Javascript css选择器的开/关,javascript,html,css,Javascript,Html,Css,例如,我有以下CSS规则: <style> table {background:red;} div {background:green;} </style> 表{背景:红色;} div{背景:绿色;} 以及以下HTML,调用JS函数: <table onclick="turnItsCSS(on/off)"><tr><td>123</td></tr></table> 123 turnItsCS

例如,我有以下CSS规则:

<style>
table {background:red;}
div {background:green;}
</style>

表{背景:红色;}
div{背景:绿色;}
以及以下HTML,调用JS函数:

<table onclick="turnItsCSS(on/off)"><tr><td>123</td></tr></table>
123
turnItsCSS()
是否可以切换表的CSS规则

我只想在
文档头
中解析
innerHTML
,但这似乎不够。

在jQuery中,您可以使用or(或者更简单地说,函数)

假设你有一张桌子:

<a href="#" id="addClass">Add CSS</a>
<table id="the_table">
    <tr>
        <td>Hello, World</td>
    </tr>
</table>
在jQuery中,您可以有:

$("#addClass").click(function() {
    $("#the_table").addClass(".table_red");

    // Check if the class is active, and remove it for a toggle.
    // or use the .toggleClass() function.
});

这是一种在css文件之间切换的好方法:

<button onclick="$('[rel=stylesheet]').attr('href','http://www.example.com/css/menu_red.css')">red</button>

<button onclick="$('[rel=stylesheet]').attr('href','http://www.example.com/css/menu_black.css')">black</button>
红色
黑色

您可以使用jQuery或JavaScript动态更改对象样式 在JavaScript中,您可以通过id或类名获取元素并设置样式

var obj = getElementById("idName");
obj.style.width = "300px";


下面是一个使用HTML5的例子,不幸的是,我认为 HTML


查看其他技术的详细介绍。

我建议在CSS规则中使用类而不是元素。然后切换是一个简单的切换类的问题。我不认为你可以“禁用”css的可能重复,除了删除/更改它。我可能错了。@Frédéric Hamidi,是的,Frederic,我知道,但我需要为@kennypu中的任何选择器做主题,相同的猜测=)我需要纯html/js,我认为JQ的.addClass等-它解析document.head部分=)还有,在这个例子中jQuery有什么问题?解决您的问题很简单。我需要为中的任何选择器(也可能在链接的css表中)设置主题。我仍然不确定为什么您不能使用jQuery.Thanx,但我需要在不更改元素属性的情况下禁用选择器。
var obj = getElementById("idName");
obj.style.width = "300px";
var obj = getElementsByClassName("classname")[0]; //return array with with all elements with same class
obj.style.width = "300px";
<table onclick="this.classList.toggle('on');"><tr><td>123</td></tr></table>
.on { 
    background-color:red;
}