jquery 操作DOM

亦凉 2022-05-26 23:20 382阅读 0赞

操作属性


通过attr可以获取标签的属性值, 还可以设置属性值, 和css()类似.
测试代码如下

  1. <div class='mydiv'>
  2. <ul>
  3. <li id='item1'><a href='http://www.360.com'>a1</a></li>
  4. <li id='item2'><a href='#'>a2</a></li>
  5. </ul>
  6. </div>

获取第一个a标签的href属性值

  1. $('div ul li a').attr('href');

将所有a标签的href属性设为百度网址, 将name设为link

  1. $('a').attr({
  2. 'href':'http://www.baidu.com', 'name':'link'})

当给一批元素设置id时,也可以用attr,因为标签id只能是唯一的所以可以使用如下方式

  1. $('a').attr({
  2. 'href':'http://www.baidu.com', 'name':'link',
  3. 'id':function(index, value){
  4. return 'link-'+index;
  5. }});

这样做之后, id就变成了link-0, link-1。

DOM元素属性


DOM属性和HTML属性是有区别的,JavaScript操作的是DOM而不是HTML 。 这个<div class='mydiv'> 标签他的class是mydiv,通过js访问如下

  1. $('div')[0].className

通过jQuery可以使用其提供的prop() 得到属性.

  1. $('div').prop('class');

上面提到的attr也可以获取到class属性

  1. $('div').attr('class');

这里需要注意的是prop 和 attr 的区别,prop是选择DOM属性, 而attr选择的是HTML页面上的属性也包括我们自定义的属性, 举个例子如下选择框

  1. <input type="checkbox" checked="checked" />选择

分别用prpo和attr选择

  1. $(':input').prop('checked');
  2. false
  3. $(':input').attr('checked');
  4. "checked"

可以看到得到的结果是不同的。

通过prop设置框为选中

  1. $('input').prop('checked',true);

详细看这里http://www.jb51.net/article/88068.htm

获取下拉框的值
  1. <select>
  2. <option>a</option>
  3. <option>b</option>
  4. <option>c</option>
  5. </select>

之前我都是通过选择索引方式

  1. $('select')[0].selectedIndex

现在可以val()函数,直接获取内容。

  1. $('select').val();

DOM树操作


创建新的元素

$() 的括号中放入一组html即可变成jquery对象

  1. var tag = $('<p>哈哈</p>');
添加元素

添加分为在标签的外部添加和内部添加
外部添加

  1. tag.insertAfter('#item1'); //在#item1的后面
  2. tag.insertBefore('#item1'); // 之前

内部添加

  1. tag.appendTo('ul'); //ul内的末尾
  2. tag.prependTo('ul'); //ul内的开头

也可以先选择ul在将tag添加进来

  1. $('ul').append(tag)
移动元素

通过一个例子了解下
将span移动两个div其中的一个

  1. <div id='div1' style="border: 1px solid black; height: 100px;">
  2. </div>
  3. <div id='div2' style="border: 1px solid red; height: 100px;">
  4. </div>
  5. <span id='sp'>我要移动</span>
  6. <button onclick="spanmove(1)">移动到1</button>
  7. <button onclick="spanmove(2)">移动到2</button>

两种写法都是一样的.

  1. function spanmove(i){
  2. if (i == 1){
  3. //$('#div1').append($('#sp'));
  4. $('#sp').appendTo($('#div1'));
  5. }else{
  6. //$('#div2').append($('#sp'));
  7. $('#sp').appendTo($('#div2'));
  8. }
  9. }

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读

    相关 03-jQuery操作DOM

    文本主要内容 样式和类操作 节点操作 样式操作和类操作 作用:设置或获取元素的样式属性值。 样式操作 1、设置样式: //设置单个样

    相关 JQueryDom操作

    [JQuery的Dom操作][JQuery_Dom]    小编最近参与了一个网站项目的开发,所以遇到了大量的js操作。让小编大为挠头。JQuery这东西,我貌似曾经熟练过一

    相关 jquery 操作DOM

    操作属性 -------------------- 通过attr可以获取标签的属性值, 还可以设置属性值, 和css()类似. 测试代码如下 <div c

    相关 jQuery操作DOM元素

    作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。 实现上述两个功能当然可以使用原生js来完成,但在实际开