jquery 操作DOM

  1. DOM操作分类

DOM操作分为三类:

      • CSS-DOM:用于操作CSS,如element.style.color="green"
      • HTML-DOM:用于处理HTML文档,如document.forms
      • DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElementById()
    • jQuery中的DOM操作

jQuery对JavaScript中的DOM操作进行了封装

jQuery中的DOM操作

    1. 样式操作
    2. 内容及Value值操作
    3. 节点操作
    4. 节点属性操作
    5. 节点遍历
  • 设置单个属性

css(name,value) ;

  • 同时设置多个属性

css({name:value, name:value,name:value…}) ;

示例;$(this).css("border","5px solid #f5f5f5");

$(this).css({"border":"5px solid #f5f5f5","opacity":"0.5"});

  • 获取属性值

css(name)

<style>
        .dd{ border: 1px solid red; width: 50px; height: 70px;}
    </style>
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
    <script type="text/javascript">
        $(function(){
       //  $("div").css("border","1px solid red");
 //$("div").css({"border":"1px solid red","width":"50px","height":"70px"});
$("div").addClass("dd");
        });
function show(div1){
alert($(div1).css("border"));
}

    </script>
</head>
<body>

<div οnclick="show(this);">
    来打我把
</div>

 

 

  • 追加样式

$(selector).addClass(class);

或   $(selector).addClass(class1 class2 … classN);//多个样式之间是空格

示例:

$("h2").mouseover(function() {

     $("p").addClass("content border");

});

 

  • 移除样式

$(selector).removeClass("class") ;

或   $(selector).removeClass("class1 class2 … classN ") ;

示例:

$("h2").mouseout(function() {

        $("p").removeClass("text content");

});

 

  • 切换样式

toggleClass()

模拟了addClass()与removeClass()实现样式切换的过程

语法:

$(selector).toggleClass(class) ;

示例:

$("h2").click(function() {

    $("p").toggleClass("content  border");

});

 

  • 判断是否含指定的样式

hasClass( )方法来判断是否包含指定的样式

语法:

$(selector). hasClass(class);

示例:

$("h2").mouseover(function() {

    if(!$("p").hasClass("content ")){

$("p").addClass("content ");

}

});

 

$("h2").mouseout(function() {

      if($("p").hasClass("content ")) {

$("p").removeClass("content ");

    }

});

 

 

  1. 内容操作

 

HTML代码操作

标签内容操作

属性值操作

 

  • 获取元素中的html代码

$("div.left").html();

  • 设置元素中的html代码

$("div.left").html("<div class='content'>…</div>");

 

  1. 标签内容操作

 

  • 获取元素中的文本内容

$("div.left").text();

 

  • 设置元素中的文本内容

$("div.left").text("<div class='content'>…</div>");

 

 

  • html( ) 和text( )方法的区别

html()设置可以包含文本和标签

text() 设置只能是文本

 

  1. 属性值操作
  • 获取元素的value属性值

$(this).val();

  • 设置元素的value属性值

$(this).val(value);

  1. 节点操作

jQuery中节点操作

查找节点(前面章节已讲)

创建节点

插入节点

删除节点

替换节点

复制节点

  • 创建节点

  var uu="<ul><li>美女</li></ul>";
$("#love").html(uu);

 

  • 元素内部插入子节点
  1. append(content)

$(A).append(B)表示将B追加到A中

如:$("ul").append($newNode1);

 

  1. prepend(content)

$(A). prepend (B)表示将B前置插入到A中

如:$("ul"). prepend ($newNode1);

 

  • 元素外部插入同辈节点

after(content)

$(A).after (B)表示将B插入到A之后

如:$("ul").after($newNode1);

 

before(content)

$(A). before (B)表示将B插入至A之前

如:$("ul").before($newNode1);

 

  • 删除节点

remove():删除整个节点  $(selector).remove([expr]);

empty():清空节点内容  $(selector).empty();

 

  • 替换节点

replaceWith()

示例:

var $newNode1=$("<li>你喜欢哪些冬季运动项目?</li>");

$(".gameList li:eq(2)").replaceWith($newNode1);

 

 

  • clone()用于复制某个节点

$(selector).clone([includeEvents]) ;

参数ture或flase, true复制事件处理,flase时反之

 

  • 属性操作

获取与设置元素属性

删除元素属性

 

attr()用来获取与设置元素属性

获取属性值

$(selector).attr([name]) ;

设置多个属性的值

$(selector).attr({[name1:value1]…[nameN:valueN]}) ;

示例:

$(".contain img").attr({width:"200",height:"80"});

 

删除元素属性

removeAttr()用来删除元素的属性

语法:$(selector).removeAttr(name) ;

示例  删除元素的alt属性

$(".contain img").removeAttr("alt");

 

 

节点遍历 

children([expr]) 只考虑子元素而不考虑所有后代元素

each

示例

查找DIV中的每个子元素。

 

HTML 代码:

<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>

jQuery 代码:

$("div").children()

结果:

[ <span>Hello Again</span> ]

描述:

 

在每个div中查找 .selected 的类。

 

HTML 代码:

<div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div>

jQuery 代码:

$("div").children(".selected")

结果:

[ <p class="selected">Hello Again</p> ]

 

next([expr])返回后面那个紧邻的同辈元素

示例

描述:

找到每个段落的后面紧邻的同辈元素。

 

 

HTML 代码:

<p>Hello</p><p>Hello Again</p><div><span>And Again</span></div>

jQuery 代码:

$("p").next()

结果:

[ <p>Hello Again</p>, ]

 

 

描述:

找到每个段落的后面紧邻的同辈元素中类名为selected的元素。

 

HTML 代码:

<p>Hello</p><p class="selected">Hello Again</p><div><span>And Again</span></div>

jQuery 代码:

$("p").next(".selected")

结果:

[ <p class="selected">Hello Again</p> ]

  <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
    $(function(){

      /*   var uu="<ul><li>美女</li></ul>";
       $("#love").html(uu);*/
         // var love="<li>我儿子</li>";
        //内部插入
      //  $("ul").prepend(love);
        //外部插入
      //  var love1="<li>人民币</li>";
       // $("li:first").after(love1);
      //  $("li:eq(1)").remove();
       // $("li:eq(1)").empty();
        $("li:eq(1)").replaceWith("<li>紫霞仙子</li>");
        $("li").click(function(){
            alert("我是li");
        });

        var li=  $("li:eq(0)").clone(true);
        $("ul").append(li);

    });
   function  addLove(){
       $("img").attr("src","images/1.png");
   }
    function deleteLove(){
        $("img").removeAttr("src");
    }

</script>
</head>
<body>
<button οnclick="addLove();">添加的女神</button>
<button οnclick="deleteLove();">干掉女神</button>
<div id="love"></div>
<ul>
    <li >朱茵</li>
    <li>珍珍</li>
    <li>人民币</li>
</ul>
<img >
</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值