<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);
效果如下:
用Firebug看到的效果:
插入节点方法
方法 | 描述 | 示例 |
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();
效果如下:
扩展:$("ul li").remove("li[title!=苹果]");
$("ul li:eq(1)").empty();
效果如下:
remove() 和 empty()对比: remove()是删除匹配元素 , empty()只是清空内容,并没有删除节点。
4、复制节点
$("ul li").click(function(){
$(this).clone().appendTo("ul");
});
效果:
5、替换节点
$("p").replaceWith("<strong>你最讨厌的水果是?</strong>");
效果:
6、包裹节点
$("p").wrap("<div></div>");
把p元素包裹在div元素中。
效果:
同样是:$("p").wrap("<div></div>");
效果如下:
$("p").wrapAll("<div></div>");
效果如下:
wrapInner()
原html:<p title="水果" id="pp">你喜欢的水果是?</p>
添加方法:$("p").wrapInner("<b>dddddddd</b>");
结果:
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");