美文网首页
jQ常用操作dom元素的属性方法

jQ常用操作dom元素的属性方法

作者: _信仰zmh | 来源:发表于2017-11-08 21:42 被阅读0次

平时都是写angular,突然想写jquery的时候发现,有时候操作元素的方法,好多都忘记了,现在抽时间把之前用过的方法都重心在熟悉一下,方便自己以后。

以下就介绍一些经常使用的jq中操作dom元素的常见方法:


.val() 和 .html() 方法
  • .val() :用于设置或返回选中元素的值
  • .html() : 用于设置或返回选中元素的HTML内容
示例:

val()方法: 用于 返回 或设置被选元素的值。

语法:

$('#id').val(value);

  • value参数是 选填 的,它 用于规定被选元素的新内容
    • 如果value 有值 的话,就是 设置 新值;
    • 如果value 没值 的话,就是 获取并返回 被选元素的当前值;
  • 多用于input元素;

html() 方法 与 val()方法的不同之处在于:html()方法返回的或设置的是被选元素的内容(类似innerHTML);

html() 的参数 可以包含标签 :

$("p").html("Hello <b>world</b>!");

html()要注意的两点:

  • 参数为空时,取值,但 只返回第一个被选元素的内容
$('p').html();
  • 参数不为空时,设置内容,但它会 覆盖所有匹配元素的内容
$(selector).html(content);
// content 可选。规定被选元素的新内容。该参数可包含 HTML 标签。

attr() 和 removeAttr()

  • attr(): 用于设置或返回匹配元素的属性和值;
  • removeAttr() : 用于移除指定的属性;

attr() 方法设置或返回被选元素的属性值

常见的几种使用情形:
  • 返回指定元素的指定属性的值:
$(选择器).attr(要获取的某个属性的属性名);
// 比如要获取id为demo的元素的高度
$('#demo').attr("height");

记得属性名也要加引号!

  • 设置属性/值
$("选择器").attr("属性名", "属性值");
// 比如设置元素的宽度
$("#id").attr("width", "600");
  • 一次设置多个属性/值
    • 使用{},以key-val的键值对形式指定属性名:属性值,多个之间以逗号隔开
$(selector).attr({attribute:value, attribute:value ...})
// 示例:
$("#id").attr({"width": "300", "height": "100" });

与之相反的是 removeAttr() 方法,它用于移除被选元素的指定属性
$(selector).removeAttr(attribute);

要注意的是,必须指定要移除哪个属性,也就是说attrbute这个属性名是必填的。

  • 示例:
$("div").removeAttr("color");

addClass() 和 removeClass()

  • addClass() : 用于 添加指定的类,这个有时候会很有用;
  • removeClass() : 与上面的方法正好相反,用于 删除 全部或某个特定的类;
  • 这两个方法其实有时候也可以 连起来一起使用,比如你先移除某个类,在追加另一个类:
<style>
.className1{ // style1 }
.className2{ //style2 }
</style>
$("p").removeClass("className1").addClass("className2");

addClass() 向被选元素添加一个或多个类

$(选择器).addClass(className);

注意:

  • 这个方法 不会移除已经存在的class属性 ,它只是在原有的基础上增加了一个或多个新的class属性,不会覆盖之前存在的class;
  • 要增加 多个class 的话, 中间以空格隔开
$("p").addClass("class1 class2");

removeClass() 方法从被选元素移除一个或多个类

$(selector).removeClass(class);

  • class ,参数选填,指定移除的类的名称;

  • 移除多个,中间加空格;

$("p").removeClass('class1 class2');
  • 如果class为空时,则移除备选元素的所有class
$("#p").removeClass();//移除id为p的元素的所有类

toggleClass() : 模拟反选,从匹配的元素中添加或删除一个类

toggleClass() : 可以对设置或移除被选元素的一个或多个类进行切换。

该方法检查每个元素中指定的类。

如果不存在则添加类,如果已设置则删除之。

这样就可以达到切换效果。

不过,通过使用 "switch" 参数,您能够规定只删除或只添加类。

$(selector).toggleClass(class,switch);

示例:
实现的效果就是,如果p标签有main这个类就移除,没有就添加。

这个很有用,记得最早之前,我做反转效果,还是用的for循环,使用的排他思想,太麻烦了;

<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("p").toggleClass("main");
  });
});
</script>
<style type="text/css">
.main
{
font-size:120%;
color:red;
}
</style>
</head>

<body>
<h1 id="h1">This is a heading</h1>
<p class='main'>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button class="btn1">切换段落的 "main" 类</button>
</body>
</html>

如何判断被选元素是否包含指定类-- hasClass()

hasClass() 方法检查被选元素是否包含指定的 class。

$(selector).hasClass(class);

  • class 必需参数,它规定需要在指定元素中查找的类。
  • 返回的结果是 布尔值
    • 如果有指定class返回true;
    • 如果不含有指定class,则返回false;

相关文章

  • jQuery相关API总结

    JQ操作DOM属性节点相关方法(包含类的操作) 属性节点就是指dom元素的属性 一般如果是标签自身自带的属性,我们...

  • DOM基础

    本文主要内容包括DOM概念的介绍、DOM对象的一些常用属性和方法、如何获取DOM节点的父子、相邻元素以及常用的操作...

  • jQuery基本操作

    jQuery操作DOM元素 使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其...

  • DOM操作

    主要内容: 一些常用的DOM操作:查询元素、创建元素并给元素添加/删除属性、添加/删除元素以及很常用的classL...

  • jQuery操作input属性

    通常操作DOM的属性,我们使用jQuery封装的方法:attr,但是对于input元素,获取元素属性,有时候att...

  • Recent Problems

    document.createElement创建的元素有哪些属性和方法。其他常用JS原生DOM方法。 Vue.js...

  • jQ---属性操作/jQ---CSS 操作

    jQuery 属性操作方法 下面列出的这些方法获得或设置元素的 DOM 属性。这些方法对于 XML 文档和 HTM...

  • jQ---属性操作/jQ---CSS 操作

    jQuery 属性操作方法下面列出的这些方法获得或设置元素的 DOM 属性。这些方法对于 XML 文档和 HTML...

  • jQuery 属性和CSS 操作函数

    jQuery 属性操作方法 下面列出的这些方法获得或设置元素的 DOM 属性。 这些方法对于 XML 文档和 HT...

  • jQuery HTML

    jQuery - 获取内容和属性 jQuery 拥有可操作 HTML 元素和属性的强大方法。 jQuery DOM...

网友评论

      本文标题:jQ常用操作dom元素的属性方法

      本文链接:https://www.haomeiwen.com/subject/oqgmmxtx.html