jq 对节点操作

<body>
  <p title="水果" id="pp">你喜欢的水果是?</p>
  <ul>
   <li>苹果</li>
   <li>香蕉</li>
   <li>荔枝</li>
  </ul>
 </body>

 

一、查找节点

1、查找元素节点

//弹出“香蕉”

<script type="text/javascript" src="jquery-1.4.2.js"></script>
  <script type="text/javascript">
   $(function(){
    var $li = $("ul li:eq(1)");
    var li_txt = $li.text();
    alert(li_txt);
   })
  </script>

 

2、查找属性节点

    var $p =$("p");
    var p_txt = $p.attr("title");
    var p_id =$p.attr("id");
    alert(p_id);

    alert(p_txt);

 

二、创建节点

1、创建元素节点

    var li1=$("<li>龙眼</li>");
    var li2=$("<li>香水</li>");

 

2、插入节点

    $("ul").append(li1);
    $("ul").append(li2);

 

效果如下:

JQ <wbr>节点操作 

用Firebug看到的效果:

JQ <wbr>节点操作

 

插入节点方法

 

 方法 描述 示例
 append() 向每个匹配元素内部追回内容

 html代码:<p>我想说:</p>

 JQ代码:$("p").append("<b>你好</b>");

结果:

<p>我想说:<b>你好</b></p>

 appendTo()

 将所有匹配元素追加到指定的元素中

 颠倒append()做法

 html代码:<p>我想说:</p>

 JQ代码:$("<b>你好</b>").appendTo("p");

结果:

<p>我想说:<b>你好</b></p>

 prepend()

 向每个匹配元素内部前置内容

 html代码:<p>我想说:</p>

 JQ代码:$("p").prepend("<b>你好</b>");

结果:

<p><b>你好</b>我想说:</p>

 prependTo()

 将所有匹配元素追加到指定的元素中

 颠倒prepend()方法

 html代码:<p>我想说:</p>

 JQ代码:$("<b>你好</b>").prependTo("p");

结果:

<p><b>你好</b>我想说:</p>

 after() 在每个匹配元素之后插入内容 html代码:<p>我想说:</p>

 JQ代码:$("p").after("<b>你好</b>");

结果:

<p>我想说:</p><b>你好</b>

 insertAfter()

 将所有匹配元素追加到指定的元素的后面

 颠倒after()方法

 html代码:<p>我想说:</p>

 JQ代码:$("<b>你好</b>").insertAfter("p");

结果:

<p>我想说:</p><b>你好</b>

 before() 在每个匹配元素之前插入内容 html代码:<p>我想说:</p>

 JQ代码:$("p").before("<b>你好</b>");

结果:

<b>你好</b><p>我想说:</p>

 insertBefore() 将所有匹配元素追加到指定的元素的前面  html代码:<p>我想说:</p>

 JQ代码:$("<b>你好</b>").insertBefore("p");

结果:

<b>你好</b><p>我想说:</p>

 

 3、删除节点

remove() 和 empty()

 

$("ul li:eq(1)").remove();

效果如下:

JQ <wbr>节点操作


扩展:$("ul li").remove("li[title!=苹果]");

 

$("ul li:eq(1)").empty();

效果如下:

JQ <wbr>节点操作

JQ <wbr>节点操作

remove() 和 empty()对比: remove()是删除匹配元素 , empty()只是清空内容,并没有删除节点。

 

4、复制节点

    $("ul li").click(function(){
     $(this).clone().appendTo("ul");
    });

效果:

JQ <wbr>节点操作

 

5、替换节点

$("p").replaceWith("<strong>你最讨厌的水果是?</strong>");

效果:

JQ <wbr>节点操作

 

6、包裹节点

$("p").wrap("<div></div>");

把p元素包裹在div元素中。

效果:

JQ <wbr>节点操作

 

同样是:$("p").wrap("<div></div>");

效果如下:

JQ <wbr>节点操作

JQ <wbr>节点操作

 

$("p").wrapAll("<div></div>");

效果如下:

JQ <wbr>节点操作

 

wrapInner()

原html:<p title="水果" id="pp">你喜欢的水果是?</p>

添加方法:$("p").wrapInner("<b>dddddddd</b>");

结果:

JQ <wbr>节点操作

JQ <wbr>节点操作

7、属性操作

1、获取属性和设置属性

<p title="这是p标签">p</p>

var $p = $("p");

var p_txt = $p.attr("title");

 

设置属性:

$("p").attr("title","my Title");

$("p").attr({"title":"my Titl","name":"my Test"});

 

删除属性:

removeAttr();

$("p").removeAttr("title");

 

 

9、样式操作

原Html:<p class="myClass" title="选择你最爱的水果">你最爱的水果是?</p>

 

通过attr()来添加class

var p_class = $("p").attr("class");

设置class

$("p").attr("class","height")

结果:<p class="height">test</p>

 

追加样式:addClass()

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

结果:<p class="height autoColor">test</p>

 

attr()只是设置样式,只有一种样式;而addClass()则是追加样式,可有多种样式交集。

 

移除样式:

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

切换样式:

$toggleBtn.toggle(function(){

//显示元素

},function(){

//隐藏元素

});

判断是否含有某个样式:hasClass()

$("p").hasClass("autoColor");

另一方式:$("p").is(".autoColor");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值