结点操作:(DOM-core)
<%--查找元素结点 --%>
<script type="text/javascript">
var $li = $("ul li:eq(1)"); //获取<ul> 中的第2个<li>结点
var $li_txt = $li.text(); //获取第二个<li>结点的文本内容
alert($li_txt); //打印文本内容
</script>
<%--查找、添加属性 --%>
<script type="text/javascript">
var $p = $("p"); //获取<p>结点
var $p_txt = $p.attr("title"); //获取p结点的title属性
alert($p_txt); //打印属性值
$("p").attr("id", "p1"); //设置单一属性
$("p").attr("id":"p1","name":"test"); //设置多个属性
</script>
<%--删除属性 --%>
<script type="text/javascript">
$("p").removeAttr("title"); //删除属性
</script>
<%--创建元素结点 --%>
<script type="text/javascript" >
var $li_1 = $("<li></li>"); //创建第1个<li>结点
var $li_2 = $("<li/>"); //创建第2个<li>结点
//添加到<ul>中,添到最后
$("ul").append($li_1);
$("ul").append($li_2);
//链式写法
$("ul").append($li_1).append($li_2);
</script>
<%--创建文本节点 --%>
<script type="text/javascript">
var $li_1 = $("<li>香蕉</li>");
var $li_2 = $("<li>雪梨</li>");
$("ul").append($li_1).append($li_2);
</script>
<%--创建属性结点 --%>
<script type="text/javascript">
var $li_1 = $("<li title='香蕉'>香蕉</li>");
var $li_2 = $("<li title='雪梨'>雪梨</li>");
$("ul").append($li_1).append($li_2);
</script>
<%--插入节点 --%>
<p>我想说:</p>
<script type="text/javascript">
$("p").append("<b>你好</b>"); //<p>我想说:<b>你好</b></p>
$("<b>你好</b>").appendTo("p"); //<p>我想说:<b>你好</b></p>
$("p").prepend("<b>你好</b>"); //<p><b>你好</b>我想说:</p>
$("<b>你好</b>").prepend("p"); //<p><b>你好</b>我想说:</p>
$("p").after("<b>你好</b>"); //<p>我想说</p><b>你好</b>
$("<b>你好</b>").insertAfter("p"); //<p>我想说</p><b>你好</b>
$("p").before("<b>你好</b>"); //<b>你好</b><p>我想说</p>
$("<b>你好</b>").insertBefore("p"); //<b>你好</b><p>我想说</p>
</script>
<%--删除结点 --%>
<script type="text/javascript">
var $li = $("ul li:eq(1)").remove(); //删除<ul>下的第2个<li>元素结点(包括后代元素),删除返回引用的值
$("ul").append($li); //把上一步删除的添加回来
$("ul li").remove("li[title ==菠萝]"); //条件删除结点
$("ul li:eq(1)").empty(); //清空元素(包括后代元素) 只剩下一个黑点
</script>
<%--复制结点 --%>
<script type="text/javascript">
$("ul li").click(function () {
$(this).clone().appendTo("ul"); //赋值当前结点,并将其追加到<ul>元素中,克隆的结点不具有复制功能
})
$("ul li").click(function () {
$(this).clone(true).appendTo("ul");//赋值当前结点,并将其追加到<ul>元素中,克隆的结点具有复制功能
})
</script>
<%--替换结点 --%>
<script type="text/javascript">
$("p").replaceWith("strong") //将<p>结点替换成<strong>结点,替换后绑定的事件不存在
$("strong").replaceAll("p"); //将<p>结点替换成<strong>结点,替换后绑定的事件不存在
</script>
<%--包裹结点 --%>
<script type="text/javascript">
$("strong").wrap("<b></b>"); //用<b>将<strong>标签包裹起来 结果是<b><strong>1</strong></b>、<b><strong>2</strong></b>
//单独包装每一个<strong>标签
$("strong").wrapAll("<b></b>"); //用<b>将<strong>标签包裹起来 统一包裹<b><strong>1</strong> <strong>2</strong></b>
$("strong").wrapInner("<b></b>") //用<b>将<strong>子内容包裹起来<strong><b>1</b></strong>
</script>
样式操作
<%--样式设置 --%>
<script type="text/javascript">
//追加样式
$("#button").click(function () {
$("p").addClass("another"); //给<p>标签追加"another"类
/*多个CSS样式规则
(1)如果一个元素添加了多个class值,那么就相当于合并了他们的样式
(2)如果不同的class设定了同一个样式属性,则后者覆盖前者
*/
})
//移除样式
$("button1").click(function () {
$("p").removeClass("another"); //移除<p>标签样式为"another"的class
$("p").removeClass("class1").removeClass("class2"); //移除多个class
$("p").removeClass("class1 class2"); //同上
$("p").removeClass(); //移除所有
})
//交替执行代码类似if..else
$("p").toggle(function () {
//显示元素
}, function () {
//隐藏元素
})
//切换样式
$("#button2").click(function () {
$("p").toggleClass("another"); //<p>上有类名"another"则删除,没有则添加
})
//判断是否存在样式
$("#button3").click(function () {
$("p").hasClass("another"); //<p>上是否有class为another的样式
})
</script>
遍历结点
<%--遍历结点 --%>
<script type="text/javascript">
$("p").children().length(); //获取<p>元素的子元素个数
$("p").next(); //获取<p>元素的下一个兄弟元素的HTML代码(包括子元素)
$("p").prev(); //获取<p>元素的上一个兄弟元素的HTML代码(包括子元素)
$("p").siblings(); //获取<p>前后所有的兄弟元素的HTML代码(包括子元素)
</script>
获取或设置HTML、文本的值(HTML-DOM)
<%--获取或设置HTML、文本的值 --%>
<script type="text/javascript">
var $p_html = $("p").html(); //获取<p>元素的html代码 类似JS的innerHtml
alert($p_html); //打印<p>元素的HTML代码 输出<p></p>下的所有文本,包括子元素
$("p").html("<strong>设置P标签的HTML代码</strong>");
var $p_text = $("p").text(); //获取<p>元素的文本内容 类似JS的innerText
alert($p_text); //打印<p>元素的文本内容
$("p").text("设置P标签的文本值");
//id为address的文本框获得焦点则将文本框的值赋给$txt_value
$("#address").focus(function () { //focus等价JS的onfocus
var $txt_value = $(this).val();
})
//id为address的文本框失去焦点则【请输入地址】赋给id为address的文本框
$("#address").blur(function () { //blur等价JS的onblur
$(this).val("请输入地址");
})
//val()设置下拉列表,单选,多选的默认选中选中
$(":checkbox").val(["check2", "check3"]); //check2和check3被选中
$("#single").val("选择2号"); //下拉列表的”选择2号“默认显示 从后往前遍历 text或value任何一个符合都将选中
</script>
样式设置(CSS-DOM)
<%--CSS-DOM操作 --%>
<script type="text/javascript">
$("p").css("color"); //获取<p>元素的样式颜色
$("p").css("color", "red"); //设置<p>元素的颜色为红色
$("p").css({ "fontSize": "30px", backgroundColor: "#888888" }); //不加引号采用双峰命名法(推荐加引号)
var $p_offset = $("p").offset(); //获取偏移量
var $p_position = $("p").position(); //获取位置
$("p").scrollLeft(); //滚动条距离左边的距离
$("p").scrollTop(); //滚动条距离顶端的距离
</script>
要么忍,要么狠,要么滚!
浙公网安备 33010602011771号