Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
JQuery添加类_Jquery_Ruby On Rails 3 - Fatal编程技术网

JQuery添加类

JQuery添加类,jquery,ruby-on-rails-3,Jquery,Ruby On Rails 3,我正试图使用JQuery在下面的div中添加一个类,但我不知道我做得不对 <div class="flash alert">You need to sign in or sign up before continuing.</div> 我不能直接编辑css,如果我可以这样做,我会的 下面是我所写内容的一个JSFIDLE链接。它在JSFIDLE中工作,但在我的页面上不工作:以下是它在我的页面上的外观: 注意:我正在将rails与Desive一起使用,并试图消除默认的警报消

我正试图使用JQuery在下面的div中添加一个类,但我不知道我做得不对

<div class="flash alert">You need to sign in or sign up before continuing.</div>
我不能直接编辑css,如果我可以这样做,我会的

下面是我所写内容的一个JSFIDLE链接。它在JSFIDLE中工作,但在我的页面上不工作:以下是它在我的页面上的外观:

注意:我正在将rails与Desive一起使用,并试图消除默认的警报消息

注意,我通过将其包装在匿名函数中实现了整个过程,如下所示:

$(function() {
  $('div.flash.alert').removeClass('alert').addClass('alert-message error');
});

这方面有很多问题

$('div flash alert')
它在div元素内的flash元素内选择警报元素。我想你需要警钟

您需要删除类大写字母和“警惕”。您不需要点,因为它不是类名的一部分

.addClass('.alertMessage .error');
再说一遍,你不需要点

因此,最终的解决方案可能如下所示:

$('div.flash.alert').removeClass('alert').addClass('alertMessage error');
因此,除了所有语法问题之外,您在解析文档之前运行了代码,因此您试图选择的元素还不存在。解决方案是在文档的就绪事件上使用事件侦听器:


这方面有很多问题

$('div flash alert')
它在div元素内的flash元素内选择警报元素。我想你需要警钟

您需要删除类大写字母和“警惕”。您不需要点,因为它不是类名的一部分

.addClass('.alertMessage .error');
再说一遍,你不需要点

因此,最终的解决方案可能如下所示:

$('div.flash.alert').removeClass('alert').addClass('alertMessage error');
因此,除了所有语法问题之外,您在解析文档之前运行了代码,因此您试图选择的元素还不存在。解决方案是在文档的就绪事件上使用事件侦听器:

试一试

试一试

注意,这将使用class=flash alert更改所有div,如果要更改特定div,最好给它一个id,然后可以使用$'myId'选择它


注意:这将使用class=flash alert更改所有div,如果您想更改特定div,最好给它一个id,然后您可以使用$'myId'选择它。

尝试从:$'div flash alert'中删除该div。只需使用$'flash alert'。在jQuery方法(如addClass或removeClass)中使用类名时,不需要使用“.”符号。请尝试从:$'DIV flash alert'中删除DIV。只需使用$'flash alert'。在jQuery方法(如addClass或removeClass)中使用类名时,不需要使用“.”符号。我添加了以下$'div.flash.alert'。removeClass'alert'。addClass'alertMessage error';但它仍然不起作用。定义不起作用。你能给我们举个例子吗?jsfiddle.net在这方面很好。它是有效的javascript,但由于某些原因,它在我的rails应用程序中不起作用。当我将这一行添加到我的主javascript文件中,并加载带有结果javascript的页面时,它根本不会更改css。我仍然得到相同的div,没有任何变化。它实际上不改变文件。@demondeac11可能有很多原因。当我们看不到代码时,心理调试有点棘手。添加一个JSFIDLE链接,会将图像添加到浏览器的外观中以进行比较。我添加了以下$'div.flash.alert'。removeClass'alert'。addClass'alertMessage error';但它仍然不起作用。定义不起作用。你能给我们举个例子吗?jsfiddle.net在这方面很好。它是有效的javascript,但由于某些原因,它在我的rails应用程序中不起作用。当我将这一行添加到我的主javascript文件中,并加载带有结果javascript的页面时,它根本不会更改css。我仍然得到相同的div,没有任何变化。它实际上不改变文件。@demondeac11可能有很多原因。当我们看不到代码时,心理调试有点棘手。添加一个JSFIDLE链接,会将图像添加到浏览器的外观中以进行比较。
$('div .flash .alert').removeclass('alert').addClass('alertMessage error');
$('div.flash.alert').removeClass('alert').addClass('alertMessage error');