jQuery对页面的操作

 

一、对元素内容和值进行操作

1、对元素内容操作

【text()】:获取值。

【text(val)】:获取并修改值。

【html()】:获取值。

【html(val)】:获取并修改值,与text的区别在于它可以识别出里面的html标签,而text会将html标签当做字符串输出。

<div>
        <div class='new'>让我们通过两种方法来获取这个div的值</div>
    </div>
$(document).ready(function(){
    var a=$('.new').text();//a-->让我们通过两种方法来获取这个div的值
    console.log('a-->'+a);
    var b=$('.new').html();//b-->让我们通过两种方法来获取这个div的值
    console.log('b-->'+b);
    $('.new').html('<span style="color:red">新的值</span>');//会将值修改为红色的,新的值
})

 

2、对元素值进行操作

【val()】:获取第一个匹配元素的当前值,返回一个字符串或数组。

【val(val)】:设置所有的匹配元素的值。

【val(arrVal)】:用于为check、select、radio等元素设置值。参数为字符串数组。

例题:一个列表框,原本第一项和第二项被选中,现在要求将第一项和第三项设为选中状态。

<select multiple id='choose'>
            <option selected>第一项</option>
            <option selected>第二项</option>
            <option >第3项</option>
        </select>
$(document).ready(function(){
    $('#choose').val(['第一项','第3项']);
    var a=$('#choose').val();
    console.log('a-->'+a);//a-->第一项,第3项
})

 效果图:

 

二、对DOM节点进行操作

1、查找节点——jQuery的选择器

2、创建节点

创建节点两步走,先创元素后插入,三种方法可选择。

$(document).ready(function(){
    //第一种方法创建元素
    var $p1=$("<p></p>");
    $p1.html('<h3>第一种方法创建节点</h3>');
    $('.new').append($p1);
    //第二种方法创建节点
    var $p2=$('<span>第二种方法创建节点</span>');
    $('.new').append($p2);
    //第三种方法创建节点
    $('.new').append('<span>第三种方法创建元素</span>')
})

 3、插入节点

(1)在元素内部插入

【dom.append(content)】:会在dom的后面加上content集合。

【appendTo(content)】:

【dom.prepend(content)】:是将content集合放在dom的前面。

【prependTo(content)】

 <div class="new">
        <p id='p1'>P1</p>
        <p id='p2'>p2</p>
        <p id='p3'>p3</p>
        <p id='p4'>p4</p>        
    </div>

append方法,在前者中添加一个后者,后者前者的后面。不同级别的,是包含关系。

$(document).ready(function(){
    //第一种方法创建元素
    var $p=$("<p></p>");
    $p.html('<h3>我新创建了一个元素</h3>');
    $('.new').append($p);//p1,p2,p3,p4,我新创建了一个元素
    
})

 -

 appendTo方法,将前者放在后者的后面,同级别的。

$(document).ready(function(){ 
    $('#p2').appendTo($('#p4')); //p1,p3,p4,p2 
})

 - 

 (2)在元素外部插入 

【dom.insertAfter(content)】:把dom节点插入在content集合的后面。

【dom.insertBefore(content)】:把dom节点插入在content集合的前面。

 3、删除、复制与替换节点

-

删除有两种方法,empty和remove,前者指删除子节点,不删除该元素,后者全部删除。

$(document).ready(function(){ 
    $('#p1').empty();//只删除子节点,不删除自己
    $('#p2').remove();//全部毁灭,包括自己
})

-

复制节点,clone方法,该方法有两种形式,带参数和不带参数。不带参数,克隆并选中。带参数,是否克隆事件并选中。

$('input').bind('click',function(){
       $(this).clone().insertAfter(this);//只复制input元素,不复制其方法
   })

 - 

替换节点有两种方法,replaceAll(selector)和replaceWith(content)。

前者是将匹配元素合集替换成selector匹配的元素。

后者是将匹配元素合集替换成指定的HTML或dom元素。

(〃´-ω・)    两者其实就是顺序的不同。这让我不得不感叹,语言,无论是英语还是中文,还都挺有意思的。   (〃´-ω・) 

$(document).ready(function(){ 
   $('.new1').replaceWith('将前者替换为后者');
   $("<div>其实就是顺序的不同</div>").replaceAll('.new2');
})

 -

例题,点击按钮,获取不同的图片。其实这里修改节点图片的方法,完全也可以用替换的方法来代替,比删除后再插入更省事一点。

还有,img是行内元素。别再忘了!

<div name='例题'>
            <h4>例题-南硕恋爱史</h4>
            <div id='bg'>
                <div>这里是bg下面的第一个子节点</div>
                <input type='button' value='单身俊' id='Jun'>
                <input type='button' value='单身珍' id='Jin'>
                <input type='button' value='恋爱' id='love'>
                <input type='button' value='结婚' id='marry'>
            </div>
        </div>
//南硕恋爱史
$(document).ready(function () {
    $('#Jun').bind('click', function () {
        $('img').remove();
        $('#bg').prepend('<img src="./单身金南俊.jpg"  />');
        //应该是在bg前面插入图片,也就是在第一个子节点前面插入图片
    })
    $('#Jin').bind('click', function () {
        $('img').remove();//删除节点,是将自己全都毁灭
        $('#bg').append('<img src="./单身金硕珍.jpg">');
        //在bg后面插入图片,应该是在第一个子节点后面插入图片
    })
    $('#love').bind('click', function () {
        $('img').remove();
        $('#bg').append('<img src="./相遇开始恋爱.jpg" />');
    })
    $('#marry').bind('click', function () {
        $('img').remove();
        $('#bg').append('<img src="./最后终于结婚.jpg"/>');
    })
})

 效果图:

 

 -

 

三、对元素属性操作

【attr(key)】:获取属性,无值的时候返回undefined。

【attr(key,value)】:为匹配的元素合集设置一个属性值。

【attr(key,fn)】:为匹配元素合集设置一个函数返回的属性值。

【attr({名:值,名:值})】:添加批量属性。

【removeAtrr(name)】:为匹配元素合集删除一个属性。

 

例题:全选,反选,全不选的操作实现。

<div>
                <!-- 初始化并未定义选择框已选属性 -->
                <p>
                    <input type="checkbox" name="checkbox" value="checkbox">上网
                    <input type="checkbox" name="checkbox" value="checkbox">唱歌
                    <input type="checkbox" name="checkbox" value="checkbox">跳舞
                </p>

                <p>
                    <input type="checkbox" name="checkbox" value="checkbox">书法
                    <input type="checkbox" name="checkbox" value="checkbox">漫画
                    <input type="checkbox" name="checkbox" value="checkbox">PS
                </p>
                <input type='button' value='全选' name='checkAll' id='checkAll'>
                <input type='button' value='全不选' name='noCheck' id='noCheck'>
                <input type='button' value='反选' name='reverse' id='reverse'>
            </div>
//例题4,这里以自执行函数的方式让该方法可行
$(function () {
    //为全选按钮绑定全选事件
    $('#checkAll').bind('click',function(){
        $('[name=checkbox]:checkbox').attr('checked',true);
    });
    //为全不选按钮绑定取消所有选择事件
    $('#noCheck').click(function(){
        $('[name=checkbox]:checkbox').attr('checked',false);
    });

    //反选事件的设置
    $("#reverse").click(function () {
        //对每个复选框都进行判断
        $('[name=checkbox]:checkbox').each(function(){
            if($(this).attr('checked')){
                $(this).attr('checked',false);//将选中的改为不选中
            }else{
                $(this).attr('checked',true);//将不选中的改为选中
            }
        })
    })

})

 

 

 

四、对元素CSS样式操作

对元素样式进行操作有两种方法,一种是通过修改css的类,一种是通过修改css的属性。

通过修改css的类对元素样式进行操作:

【addClass(class)】:选中元素集合添加类。

【removeClass(class)】:选中元素集合删除类。

【toggleClass(class)】:对类进行相反操作。如果该元素存在类,就删除这个类;如果该元素不存在类,就添加这个类。toggle是切换的意思。

【toggleClass(class,switch)】:如果switch参数为true,则添加,否则删除。

 例题:修改表单元素的css样式。 

<div>
            <h4>例题5-修改表单元素样式</h4>
            <div>
                <form name='form1'>
                    姓名:<input type="text" id='name'>
                    <br/>
                    籍贯:<input type="text" id='name'>
                    <br/>
                    生日:<input type="text" id='name'>
                    <br/>
                    <input type='button' value='换肤' id='change'>
                    <input type='button' value='恢复默认' id='default'>
                </form>
            </div>
        </div>
/* 设置默认的input样式 */
input{
    margin:5px;
}
/* 为input添加的样式 */
.addInput{
font-size:12px;
color:#333;
background: plum;
border:1px solid #000;
}
//例题5
$(document).ready(function(){
    $('#change').click(function(){
        $("form>input").addClass('addInput');
    });
    $('#default').click(function(){
        $('form>input').removeClass('addInput')
    })
})

 

 

效果图:

 

 

 

 

通过修改css属性实现样式操作。

【css(name)】:返回第一个匹配元素的样式。

【css(name,value)】:为匹配元素合集指定样式属性。

【css({属性:值,属性,值})】:为匹配元素合集批量添加属性。

 

转载于:https://www.cnblogs.com/qingshanyici/p/10557608.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值