1. 程式人生 > >jQuery DOM-獲取、設定、新增、刪除html文字的內容

jQuery DOM-獲取、設定、新增、刪除html文字的內容

1.獲得內容和屬性

text() - 設定或返回所選元素的文字內容

html() - 設定或返回所選元素的內容(包括 HTML 標記)

val() - 設定或返回表單欄位的值

attr() - 獲取屬性

例1.通過text() 和 html() 方法來獲得內容:

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
});
</script>
</head>
<body>
<p id="test">這是段落中的<b>粗體</b>文字。</p>
<button id="btn1">顯示文字</button>
<button id="btn2">顯示 HTML</button>
</body>

</html>

例2.通過 jQuery val() 方法獲得表單輸入欄位的值:

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    alert("Value: " + $("#test").val());
  });
});
</script>
</head>
<body>
<p>姓名:<input type="text" id="test" value="米老鼠"></p>
<button>顯示值</button>
</body>
</html>

例3.演示 attr() 方法獲得屬性href的方法

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    alert($("#w3s").attr("href"));
  });
});
</script>
</head>
<body>
<p><a href="http://www.w3school.com.cn" id="w3s">W3School.com.cn</a></p>
<button>顯示 href 值</button>
</body>
</html>

2.設定內容和屬性

text() - 設定或返回所選元素的文字內容

html() - 設定或返回所選元素的內容(包括 HTML 標記)

val() - 設定或返回表單欄位的值

attr() - 設定屬性

例1.通過 text()、html() 以及 val() 方法來設定內容:

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<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("Dolly Duck");
  });

});
</script>
</head>

<body>
<p id="test1">這是段落。</p>
<p id="test2">這是另一個段落。</p>
<p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p>
<button id="btn1">設定文字</button>
<button id="btn2">設定 HTML</button>
<button id="btn3">設定值</button>
</body>
</html>

例2.text()、html() 以及 val() 的回撥函式
上面的三個 jQuery 方法:text()、html() 以及 val(),同樣擁有回撥函式。回撥函式由兩個引數:被選元素列表中當前元素的下標,以及原始(舊的)值。然後以函式新值返回您希望使用的字串。
下面的例子演示帶有回撥函式的 text() 和 html():
例項
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world!
(index: " + i + ")";
});
});

$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b>
(index: " + i + ")";
});
});

例3.設定屬性 - attr()

jQuery attr() 方法也用於設定/改變屬性值。
下面的例子演示如何改變(設定)連結中 href 屬性的值:
例項
$("button").click(function(){
$("#w3s").attr("href","http://www.w3school.com.cn/jquery");
});

attr() 方法也允許您同時設定多個屬性。
下面的例子演示如何同時設定 href 和 title 屬性:
例項
$("button").click(function(){
$("#w3s").attr({
"href" : "http://www.w3school.com.cn/jquery",
"title" : "W3School jQuery Tutorial"
});
});

例4.attr() 的回撥函式
jQuery 方法 attr(),也提供回撥函式。回撥函式由兩個引數:被選元素列表中當前元素的下標,以及原始(舊的)值。然後以函式新值返回您希望使用的字串。

例項
$("button").click(function(){
$("#w3s").attr("href", function(i,origValue){
return origValue + "/jquery";
});
});

3.新增元素

append() - 在被選元素的結尾插入內容

prepend() - 在被選元素的開頭插入內容

after() - 在被選元素之後插入內容

before() - 在被選元素之前插入內容

$("p").append("Some appended text.");


$("p").prepend("Some prepended text.");

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
function appendText()
{
var txt1="<p>Text.</p>";              // 以 HTML 建立新元素
var txt2=$("<p></p>").text("Text.");  // 以 jQuery 建立新元素
var txt3=document.createElement("p");
txt3.innerHTML="Text.";               // 通過 DOM 來建立文字
$("body").append(txt1,txt2,txt3);        // 追加新元素
}
</script>
</head>
<body>


<p>This is a paragraph.</p>
<button onclick="appendText()">追加文字</button>


</body>
</html>

4.刪除元素

remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素

過濾被刪除的元素
jQuery remove() 方法也可接受一個引數,允許您對被刪元素進行過濾。
該引數可以是任何 jQuery 選擇器的語法。
下面的例子刪除 class="italic" 的所有 <p> 元素:
例項
$("p").remove(".italic");

5.類操作

addClass() - 向被選元素新增一個或多個類
removeClass() - 從被選元素刪除一個或多個類
toggleClass() - 對被選元素進行新增/刪除類的切換操作
css() - 設定或返回樣式屬性

例1.

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

例2.

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

例3.

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

6.css()方法

例1:返回首個匹配元素的 background-color 值:

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

例2;設定 CSS 屬性
語法:
css("propertyname","value");
為所有匹配元素設定 background-color 值:
$("p").css("background-color","yellow");

$("p").css({"background-color":"yellow","font-size":"200%"});

7.尺寸

width()
height()
innerWidth()
innerHeight()
outerWidth()
outerHeight()

width() 方法設定或返回元素的寬度(不包括內邊距、邊框或外邊距)。

height() 方法設定或返回元素的高度(不包括內邊距、邊框或外邊距)。

innerWidth() 方法返回元素的寬度(包括內邊距)。

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

outerWidth() 方法返回元素的寬度(包括內邊距和邊框)。

outerHeight() 方法返回元素的高度(包括內邊距和邊框)


$(".btn1").click(function(){
  $("p").width(200);
});