用js或jq获取class名并更改它

用js或jq获取class名并更改它,第1张

不知道你具体是要修改i的样式还是移除class,所以都给你说了吧

$('#defo')addClass()、$('#defo')removeClass()、$('#defo')toggleClass()、$('#defo')css()

一般都是用id去获取dom节点,因为id相对唯一,如果是要改变多个就用$('fa')[Methods]

js获取元素的class名:

var className=documentgetElementsByClassName('names')[0];

jquery获取元素的class名:

var className = $('names')atrr('class');

相关概念

getElementsByClassName() 方法返回文档中所有指定类名的元素集合,作为 NodeList 对象。

NodeList 对象代表一个有顺序的节点列表。NodeList 对象 我们可通过节点列表中的节点索引号来访问列表中的节点(索引号由0开始)。

例如使用attr()方法来获取p元素的class,JQuery代码如下:var p_class = $("p")attr("class"); //获取p元素的class使用attr()方法来设置p元素的class,JQuery代码如下:1 $("p")attr("'class", "high"); //设置p元素的class为 "high"

在大多数情况下,它是将原来的class替换为新的class,而不是在原来的基础上追加新的class。追加样式 什么是追加class呢?假如p元素原本的class为myClass,那么追加一个名叫high的class后,class属性变为 “myClass high”,即myClass和high两种样式的叠加。JQuery提供了专门的addClass()方法来追加样式。为了使例子更容易理解,首先在 style标签里添加另一组样式:1 high{ color:red; } 2 another{ font-style:italic; color:blue; }

然后在网页中添加一个“追加class类”的按钮,按钮的事件代码如下:1 $("#btn_3")click(function(){ 2 $("#nm_p")addClass("another"); // 追加样式 3 });

最后当单击“追加class类”按钮时,p元素样式就会变为斜体,而先前的红色字体也会变为蓝色。此时p元素同时拥有两个class值,即"high"和"another"。在CSS中有以下两条规定。1如果给一个元素添加了多个class值,那么就相当于合并了它们的样式。 2如果有不同的class设定了同一样式属性,则后者覆盖前者。 在上例中,相当于给p元素添加了如下样式:1 color : red; / 字体颜色设置红色/ 2 font-style:italic; 3 color:blue;

在以上的样式中,存在两个“color”属性,而后面的“color”属性会覆盖前面的“color”属性,因此最终的“color”属性的值为“blue”,而不是“red”。移除样式 如果用户单击某个按钮时,要删除class的某个值,那么可以使用与addClass()方法相反的removeClass()方法来完成,它的 作用是从匹配的元素中删除全部或者指定的class。例如可以使用如下的JQuery代码来删除p元素中值为“high”的class:1 $("p")removeClass("high"); //移除p元素中值为"high"的class

如果要把p元素的两个class都删除,就要使用两次removeClass()方法,代码如下:1 $("p")removeClass("high")removeClass("another");

JQuery提供了更简单的方法。可以以空格的方式删除多个class名,代码如下:1 $("p")removeClass("high another");

另外,还可以利用removeClass()方法的一个特性来完成同样的效果。当它不带参数时,就会将class的值全部删除,JQuery代码如下:1 $("p")removeClass(); //移除p元素的所有class

切换样式 JQuery中有一个方法toggle(),JQuery代码如下: 1 toggleBtntoggle(function(){ 2 //元素显示 代码③ 3 }, function(){ 4 //元素隐藏 代码④ 5 })

toggle()方法此处的作用是交替执行代码③和代码④两个函数,如果元素原来是显示的,则隐藏它:如果元素原来是隐藏的,则显示它。此时,toggle()方法主要是控制行为上的重复切换。另外JQuery还提供了一个toggleClass()方法控制样式上的重复切换。如果类名存在则删除它,如果类名不存在则添加它。例如对p元素进行toggleClass()方法 *** 作。1 $("p")toggleClass("another"); //重复切换类名“another”

当不断单击“切换样式”按钮时,p元素的class的值就会在“myClass”和“myClass another”之间重复切换。判断是否含有某个样式 hasClass()可以用来判断元素中是甭含有某个class,如果有,则返回true,否则返回false。例如可以使用下面的代码来判断p元素中是否含有“another”的class:1 $("p")hasClass("another");

这个方法是为了增强代码可读性面产生的。

根据你提供的 onmouseover="foodMouseOver(this)" 判断你在 Javascript 中应该有这样一个函数

function foodMouseOver(ele) {}

注意这个函数如果写在 jQuery 外面,那么在函数内你就无法使用 $ (jQuery)。

如果写在 jQuery 里面,你需要写成 windowfoodMouseOver = function(ele) {};

完整代码:

$(function() {

// 这里的参数 ele 就是传过来的 this

windowfoodMouseOver = function(ele) {

// 变量 foodinfo 就是你要获取的 divfoodInfo

var foodinfo = $(ele)find("foodInfo");

// 显示 foodInfo

foodinfoshow();

};

});

--------------------------------

给你一点建议,尽量分离 HTML,CSS,和 Javascript。也就是尽量避免使用

----- 内联样式:<div style="width: 200px;">

----- 内联脚本:<a onclick="doSomething();">

你的例子中可以把 onmouseover="foodMouseOver(this)" 去掉,在 jQuery 中直接写为

$("food")on("mouseover", function() {

$(this)find("foodInfo")show();

});

1根据ID,用var div=documentgetElementById('youdivid')

2通过标签名来取得var div=documentgetElementsByTagName('div')[num]

3举个例子:

function a(){var div=documentgetElementById('a');alert('div的class为:'+divid)alert('div的id为:'+divclassName)}

function b(){var div=documentgetElementsByTagName('div')[0];alert('div的class为:'+divid)alert('div的id为:'+divclassName)}</script>

扩展资料:

特性

JavaScript脚本语言具有以下特点:

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等 *** 作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于 *** 作系统,仅需要浏览器的支持。

因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。

同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Nodejs的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

参考资料:

百度百科——javascript

var html = $("div ulabc")prop("outerHTML");

css:

div ulabc {

color:red;

}

你在css里写好样式然后通过className()方法来改变样式

css里的样式

<style >

wwp{width:100px}

</style >

documentgetElementsByClassName("a1")className("wwp")

以上就是关于用js或jq获取class名并更改它全部的内容,包括:用js或jq获取class名并更改它、js怎么获取元素的class名、如何动态添加class样式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9567143.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存