jQuery HTML

2018-08-15  本文已影响0人  赵一矛

jQuery 拥有可操作HTML元素和属性的强大方法。

jQuery DOM 操作

获取内容 -text()、html()以及val()

<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script>
    $(document).ready(function(){
        $("#btn1").click(function(){
            alert("Text:"+$("#test").text());
        });
        $("#btn2").click(function(){
            alert("HTML"+$("#test").html());
        })
    });
    </script>
<p id="test">这是段落中的<b>粗体</b>文本</p>
    <button id="btn1">显示文本</button>
    <button id="btn2">显示 
HTML</button>

通过 jQuery val() 方法获得输入字段的值

 $("#btn3").click(function(){
            alert("Value"+$("#test1").val());
        })
 <p>姓名:<input type="text" id="test1" value="米老鼠"></p>
    <button id="btn3">显示值</button>

获取属性 -attr()

 $("#btn4").click(function(){
            alert($("#baidu").attr("href"));
        });
<p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
    <button id="btn4">显示href</button>

设置内容 - text()、html() 以及 val()

<script>
    $(document).ready(function(){
        $("#btn1").click(function(){
            $("#test1").text("Hello World!");
        });
        $("#btn2").click(function(){
            $("#test2").html("<b>Hello World!!!</b>");
        });
        $("#btn3").click(function(){
            $("#test3").val("Hello Mary!!!");
        });
    });
    </script>
<body>
    <p id="test1">这是段落。</p>
    <p id="test2">这是另一个段落</p>
    <p><input type="text" id="test3" value="lalalala"></p>
    <button id="btn1">设置文本</button>
    <button id="btn2">设置HTML</button>
    <button id="btn3">设置值</button>
</body>

text()、html() 以及 val() 的回调函数

回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回你希望使用的字符串。

<script>
        $(document).ready(function(){
            $("#btn1").click(function(){
                $("#test1").text(function(i,origText){
                    return "old text:"+origText+"New Text: Hellow world!(index+"+i+")";
                });
            });
            $("#btn2").click(function(){
                $("#test2").html(function(i,origText){
                    return "old Html:"+origText+" New HTML: Hello <b>World</b>(index"+i+")";
                });
            });
        });
    </script>
<p id="test1">这是<b>粗体</b>文本。</p>
    <p id="test2">这是<b>另一段粗体</b>文本</p>
    <button id="btn1">显示旧|新文本</button>
    <button id="btn2">显示旧|新HTML</button>

设置属性-attr()

JQuery att()方法也可以设置/改变属性值

<script>
    $(document).ready(function(){
        $("#btn1").click(function(){
            $("#baidu").attr("href","http://www.jianshu.com");
        });
    });
    </script>
 <p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
    <button id="btn1">改变href的值</button>

attr()方法也允许同时设置多个属性
同时设置href和title属性:

 $("#btn5").click(function(){
            $("#baidu").attr({
      "href":"http://www.w3school.com.cn/jquery/",
      "title":"W3School jQuery 教程"
    });
        })
<p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
    <button id="btn5">改变href和title</button>

attr()的回调函数

jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

jQuery-添加元素

通过jQuery,可以很容易地添加新元素/内容。

添加新的HTML内容

jQuery append()方法

jQuery append()方法在被选元素的结尾插入内容

<script>
$(document).ready(function(){
  $("#btn1").click(function(){
      $("p").append("<b>Appended text</b>");
  });
  $("#btn2").click(function(){
      $("ol").append("<li>Appended item</li>");
  });
});
</script>
 <p>This is a paragraph.</p>
    <p>This is a another paragraph.</p>
    <ol>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
    </ol>
    <button id="btn1">追加文本</button>
    <button id="btn2">追加列表项</button>

jQuery prepend()方法

jQuery prepend()方法在被选元素的开头插入元素

<script>
$(document).ready(function(){
  $("#btn1").click(function(){
      $("p").prepend("<b>Prepended text</b>");
  });
  $("#btn2").click(function(){
      $("ol").prepend("<li>Prepended item</li>");
  });
});
</script>
<p>This is a paragraph.</p>
    <p>This is a another paragraph.</p>
    <ol>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
    </ol>
    <button id="btn1">追加文本</button>
    <button id="btn2">追加列表项</button>

通过 append() 和 prepend() 方法添加若干新元素

append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。

<script>
    function appendText(){
        var txt1="<p>Text1.</p>";
        var txt2=$("<p></p>").text("Text2.");
        var txt3=document.createElement("p");
        txt3.innerHTML="Text3.";
        $("body").append(txt1,txt2,txt3);
    } 
</script>
 <p>This is a paragraph.</p>
    <button onclick="appendText()">追加文本</button>

jQuery after() 和 before() 方法

jQuery after()方法在被选元素之后插入内容
jQuety before()方法在被选元素之前插入内容

<script>
$(document).ready(function(){
  $("#btn1").click(function(){
    $("img").before("<b>Before</b>");
  });

  $("#btn2").click(function(){
    $("img").after("<i>After</i>");
  });
});
</script>
<img src="/i/eg_w3school.gif" alt="W3School Logo" />
<br><br>
<button id="btn1">在图片前面添加文本</button>
<button id="btn2">在图片后面添加文本</button>

通过 after() 和 before() 方法添加若干新元素

fter() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):

<script>
function afterText()
{
var txt1="<b>I </b>";                    // 以 HTML 创建元素
var txt2=$("<i></i>").text("love ");     // 通过 jQuery 创建元素
var txt3=document.createElement("big");  // 通过 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在 img 之后插入新元素
}
</script>
<img src="/i/eg_w3school.gif" alt="W3School Logo" />
<br><br>
<button onclick="afterText()">在图片后面添加文本</button>

jQuery -删除元素

通过jQuery,可以很容易地删除已有的HTML元素。

删除元素/内容

如需要删除元素和内容

jQuery remove() 方法

Query remove() 方法删除被选元素及其子元素。

<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").remove();
  });
});
</script>
<div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">
This is some text in the div.
<p>This is a paragraph in the div.</p>
<p>This is another paragraph in the div.</p>
</div>

<br>
<button>删除 div 元素</button>

jQuery empty() 方法

jQuery empty() 方法删除被选元素的子元素。
用法和remove()一样

过滤被删除的元素

Query remove() 方法也可接受一个参数,允许您对被删元素进行过滤。

该参数可以是任何 jQuery 选择器的语法。

下面的例子删除 class="italic" 的所有 <p> 元素:

<script>
$(document).ready(function(){
  $("button").click(function(){
    $("p").remove(".italic");
  });
});
</script>
<p>This is a paragraph in the div.</p>
<p class="italic"><i>This is another paragraph in the div.</i></p>
<p class="italic"><i>This is another paragraph in the div.</i></p>
<button>删除 class="italic" 的所有 p 元素</button>

jQuery-获取并设置CSS类

通过jQuery,可以很容易地对CSS元素进行操作。

jQuery addClass() 方法

$(document).ready(function(){
  $("button").click(function(){
    $("h1,h2,p").addClass("blue");
    $("div").addClass("important");
  });
});
<style type="text/css">
.important
{
font-weight:bold;
font-size:xx-large;
}
.blue
{
color:blue;
}
</style>

可以在addClass()方法中规定多个类

$("button").click(function(){
  $("#div1").addClass("important blue");
});

jQuery removeClass()方法

$("button").click(function(){
  $("h1,h2,p").removeClass("blue");
});

jQuery toggleClass() 方法

$("button").click(function(){
  $("h1,h2,p").toggleClass("blue");
});

jQuery -css()方法

css()方法设置或返回被选元素的一个或多个属性。

返回CSS属性

如需返回指定的CSS属性的值,需使用
css("propertyname");
下面的例子将返回首个匹配元素的 background-color 值:

$("p").css("background-color");

设置CSS属性

如果需要设置指定的CSS属性,
css("propertyname","value");
下面的例子将为所有匹配元素设置 background-color 值:
$("p").css("background-color","yellow");

设置多个 CSS 属性

如需设置多个 CSS 属性,请使用如下语法:
css({"propertyname":"value","propertyname":"value",...});
下面的例子将为所有匹配元素设置 background-color 和 font-size:
$("p").css({"background-color":"yellow","font-size":"200%"});

jQuery - 尺寸

通过 jQuery,很容易处理元素和浏览器窗口的尺寸。

jQuery尺寸方法

jQuery width() 和 height() 方法

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。

height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

$("button").click(function(){
  var txt="";
  txt+="Width: " + $("#div1").width() + "</br>";
  txt+="Height: " + $("#div1").height();
  $("#div1").html(txt);
});

jQuery innerWidth() 和 innerHeight() 方法

innerWidth() 方法返回元素的宽度(包括内边距)。

innerHeight() 方法返回元素的高度(包括内边距)。

$("button").click(function(){
  var txt="";
  txt+="Inner width: " + $("#div1").innerWidth() + "</br>";
  txt+="Inner height: " + $("#div1").innerHeight();
  $("#div1").html(txt);
});

jQuery outerWidth() 和 outerHeight() 方法

outerWidth() 方法返回元素的宽度(包括内边距和边框)。

outerHeight() 方法返回元素的高度(包括内边距和边框)。

$("button").click(function(){
  var txt="";
  txt+="Outer width: " + $("#div1").outerWidth() + "</br>";
  txt+="Outer height: " + $("#div1").outerHeight();
  $("#div1").html(txt);
});

outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。

outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。

$("button").click(function(){
  var txt="";
  txt+="Outer width (+margin): " + $("#div1").outerWidth(true) + "</br>";
  txt+="Outer height (+margin): " + $("#div1").outerHeight(true);
  $("#div1").html(txt);
});

jQuery - 更多的 width() 和 height()

下面的例子返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:

$("button").click(function(){
  var txt="";
  txt+="Document width/height: " + $(document).width();
  txt+="x" + $(document).height() + "\n";
  txt+="Window width/height: " + $(window).width();
  txt+="x" + $(window).height();
  alert(txt);
});

下面的例子设置指定的 <div> 元素的宽度和高度:

$(document).ready(function(){
        $("button").click(function(){
            $("#div1").width(500).height(500);
        })
    })
上一篇 下一篇

猜你喜欢

热点阅读