jQuery文本 样式以及属性操作

2017-12-22  本文已影响0人  xin激流勇进

文本操作

$(..).text() # 获取文本内容
$(..).text(“<a>1</a>”) # 设置文本内容

$(..).html()
$(..).html("<a>1</a>")

$(..).val()
$(..).val('文本')


样式操作

addClass
removeClass
toggleClass


属性操作:

专门用于做自定义属性
$(..).attr('n')
$(..).attr('n','v')
$(..).removeAttr('n')
专门用于chekbox,radio
$(..).prop('checked')
$(..).prop('checked', true)

$().index()获取索引位置


文档处理:

append()
prepend()
after()
before()

remove()
empty()

clone()

实例 增加 删除 复制元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="text" id="content">
    <button id="add">添加</button>
    <button id="del">删除</button>
    <button id="copy">复制</button>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $('#add').click(function () {
            $('ul').append('<li>'+$('#content').val()+'</li>');
            $('#content').val('');
        });
        
        $('#del').click(function () {
            $('ul li').eq($('#content').val()).remove();
            $('#content').val('');
        });

        $('#copy').click(function () {
            $('ul').append($('ul li').eq($('#content').val()).clone());
            $('#content').val('');
        })
    </script>
</body>
</html>

css处理

$('t1').css('样式名称', '样式值')

实例 点赞

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .container{
            padding: 50px;
            border: 1px solid #dddddd;
        }
        .item{
            position: relative;
            width: 30px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item">
            <span>赞</span>
        </div>
    </div>
    <div class="container">
        <div class="item">
            <span>赞</span>
        </div>
    </div>
    <div class="container">
        <div class="item">
            <span>赞</span>
        </div>
    </div>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $('.item').click(function () {
            addFavor(this);
        });

        function addFavor(self) {
           var fontSize = 15;
           var top = 0;
           var right = 0;
           var opacity = 1;

           var tag = document.createElement('span');
           $(tag).text('+1');
           $(tag).css('color','green');
           $(tag).css('position','absolute');
           $(tag).css('fontSize',fontSize);
           tag.style.right = top+'px';
           tag.style.top = right+'px';
           tag.style.opacity = opacity;
           $(self).append(tag);

           var obj = setInterval(function () {
               fontSize = fontSize + 10;
               top = top - 10;
               right = right -10;
               opacity = opacity - 0.1;

               $(tag).css('fontSize',fontSize + "px");
               $(tag).css('right',right + "px");
               $(tag).css('top',top + 'px');
               $(tag).css('opacity',opacity);
               if(opacity<0){
                   clearInterval(obj);
                   $(tag).remove();
               }
           },50);

        };
    </script>
</body>
</html>

位置

$(window).scrollTop() 获取
$(window).scrollTop(0) 设置
scrollLeft([val])

offset().left 指定标签在html中的坐标
offset().top 指定标签在html中的坐标

position() 指定标签相对父标签(relative)标签的坐标


事件

$('.c1').click()

$('.c1').bind('click',function(){
})

$('.c1').unbind('click',function(){
})

$('.c1').on('click', function(){
})

$('.c1').off('click', function(){
})

$('.c').delegate('a', 'click', function(){
})
$('.c').undelegate('a', 'click', function(){
})

对jquery动态创建的标签绑定事件(delegate在点击时绑定事件)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input id="t1" type="text" />
    <input id="a1" type="button" value="添加" />

    <ul id="u1">
        <li>1</li>
        <li>2</li>
    </ul>
<script src="jquery-1.12.4.js"></script>
    <script>
        $('#a1').click(function () {
            var v = $('#t1').val();
            var temp = "<li>" + v + "</li>";
            $('#u1').append(temp);
        });

//        $('ul li').click(function () {
//            var v = $(this).text();
//            alert(v);
//        })

//        $('ul li').bind('click',function () {
//            var v = $(this).text();
//            alert(v);
//        })

//        $('ul li').on('click', function () {
//            var v = $(this).text();
//            alert(v);
//        })

        $('ul').delegate('li','click',function () {
            var v = $(this).text();
            alert(v);
        })

    </script>
</body>
</html>

阻止事件发生

return false

当页面框架加载完成之后,自动执行

$(function(){
$(...)
})

<a href="http://www.baidu.com" id="i1">search</a>
    <script type="text/javascript" src='query-1.12.4.js'></script>
    <script type="text/javascript">
        $('#i1').click(function () {
            alert($('#i1').text());
            return false;
        })
    </script>

实例 登陆框验证

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .error{
            color: red;
        }
    </style>
</head>
<body>
    <form id="f1" action="http://www.baidu.com">
        <div><input name="用户名" type="text"></div>
        <div><input name="密码" type="password"></div>
        <div><input name="确认密码" type="password"></div>
        <div><input name="邮箱" type="text"></div>
        <input type="submit" value="提交">
    </form>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $(':submit').click(function () {
            $('.error').remove();
            var flag = true;
            $('#f1').find(':text,:password').each(function () {
                if($(this).val().length<=0){
                    var tag = document.createElement('span');
                    tag.innerText = '必填';
                    tag.className = 'error';
                    $(this).after(tag);
                    flag = false;
                    return false;
                }
            })
            return flag;
        })
    </script>
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读