WithCoderWithCoderWithCoder

jQuery实现在元素的不同位置插入元素(内部插入和外部插入)

    在html页面中,我们可以使用 jquery 将新增的元素添加到指定元素的指定位置。这个位置可以在元素的内部和外部,而对于内外位置,又可以在元素的前面和后面。

    一、内部插入

    1.1 append()

        append()方法可以在 目标元素内部 的 尾部 插入元素,插入的元素作为最后一个子元素。举例如下:        

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li>第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素内部最后附加一个元素
    $(function () {
        $(".container").append('<li style="color:red">第三个元素</li>');
    })
</script>
</body>
</html>

        运行效果如下(在ul内部的尾部添加了一个新的元素):

    1-20062914234bR.png

    1.2 appendTo()

        appendTo()方法将匹配元素插入到 目标元素 内部 的尾部。与append()方法操作相反。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li>第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素内部最后附加一个元素
    $(function () {
        // $(".container").append('<li style="color:red">第三个元素</li>');

        $('<li style="color:red">第三个元素</li>').appendTo(".container");
    })
</script>
</body>
</html>

        以上代码的运行效果和1.1相同。

    1.3 prepend()

        prepend()方法在目标元素内部的最前面插入指定的元素,并返回一个jQuery对象。指定的元素被插入到每个匹配元素里面的最前面,作为它的第一个子元素。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li>第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素内部最前面插入一个元素
    $(function () {
        $(".container").prepend('<li style="color:red">第0个元素</li>');
    })
</script>
</body>
</html>

        以上代码的运行效果:

    1-200629143631446.png

    1.4 prependTo()

        prependTo()方法将指定元素插入到 目标元素 内部 的最前面。与prepend()方法操作相反。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li>第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素内部最前面插入一个元素
    $(function () {
        // $(".container").prepend('<li style="color:red">第0个元素</li>');
        $('<li style="color:red">第0个元素</li>').prependTo(".container");
    })
</script>
</body>
</html>

        以上代码的运行效果和1.3相同。   

    二、外部插入

     2.1 after()

        after()方法在目标元素 外部 的 后面 插入指定元素。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li class="first">第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素外部后面插入一个元素
    $(function () {
        $(".first").after('<li style="color:red">我是插入的元素</li>');
    })
</script>
</body>
</html>

        以上代码的运行效果:

    1-200629145116355.png 

     2.2 insertAfter()

        insertAfter()方法将 指定元素 插入到 目标元素 外部 的后面。与after()方法操作相反。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li class="first">第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素外部后面插入一个元素
    $(function () {
        // $(".first").after('<li style="color:red">我是插入的元素</li>');
        $('<li style="color:red">我是插入的元素</li>').insertAfter(".first");
    })
</script>
</body>
</html>

        以上代码的运行效果和2.1相同。

     2.3 before()

        before()方法在目标元素 外部 的 前面 插入指定元素。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li class="first">第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素外部前面插入一个元素
    $(function () {
        $(".first").before('<li style="color:red">我是插入的元素</li>');
    })
</script>
</body>
</html>

        以上代码的运行效果:

    1-20062914561XV.png

     2.4 insertBefore()

        insertBefore()方法将 指定元素 插入到 目标元素 外部 的后面。与before()方法操作相反。

<!doctype html>
<html>
<head>
    <title>元素插入</title>
    <meta charset="utf-8">
    <script src="plugins/jquery/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<h2>元素插入</h2>
<ul class="container">
    <li class="first">第一个元素</li>
    <li>第二个元素</li>
</ul>
<script type="text/javascript">
    // 在目标元素外部前面插入一个元素
    $(function () {
        // $(".first").before('<li style="color:red">我是插入的元素</li>');
        $('<li style="color:red">我是插入的元素</li>').insertBefore(".first");
    })
</script>
</body>
</html>

        以上代码的运行效果和2.3相同。


欢迎分享交流,转载请注明出处:WithCoder » jQuery实现在元素的不同位置插入元素(内部插入和外部插入)