Định nghĩa và sử dụng
- .wrapInner(): Bao ngoài nội dung của thành phần được chọn bởi một cấu trúc HTML.
Cấu trúc
- Đã được thêm vào từ phiên bản 1.0
$('.test').wrapInner(<div></div>);
$('.test').wrapInner($('.testInner'));
- Đã được thêm vào từ phiên bản 1.4
$('.test').wrapInner(function(){});
.wrapInner(Thành phần bao ngoài)
Html viết:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div {
padding: 5px;
border: 1px solid red;
}
.test { }
.inner { border: 1px solid blue;}
</style>
<script>
$(function(){
$('div').wrapInner('<div class="inner"></div>');
});
</script>
</head>
<body>
<div>Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
</body>
</html>
Hiển thị trình duyệt:
Ta thấy nội dung của mỗi thành phần div đã được bao ngoài bởi thành phần div có class="inner".
So sánh code HTML trước và sau khi có jQuery:
Trước khi có jQuery | Sau khi có jQuery |
---|---|
<div>Thành phần div</div> |
<div> |
Ví dụ thêm
Html viết:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div { border: 1px solid green; padding: 5px;}
div.inner { border: 1px solid red;}
p { border: 1px solid blue;}
strong { border: 1px solid yellow;}
</style>
<script>
$(function(){
$('div').wrapInner('<div class="inner"><p><strong></strong></p></div>');
});
</script>
</head>
<body>
<div>Thành phần div</div>
<p>Thành phần p</p>
<div>Thành phần div</div>
</body>
</html>
Hiển thị trình duyệt:
Ta thấy nội dung của mỗi thành phần div đã được bao ngoài bởi một nhóm thành phần khác.
So sánh code HTML trước và sau khi có jQuery:
Trước khi có jQuery | Sau khi có jQuery |
---|---|
<div>Thành phần div</div> |
<div><div class="inner"><p><strong>Thành phần span</strong></p></div></div> |
wrapInner(Bộ chọn)
Html viết:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div { padding: 2px; }
div { border: 1px solid red; }
.test { border: 1px solid blue; }
.test span { border: 1px solid yellow; }
</style>
<script>
$(function(){
$('div').wrapInner($('.test'));
});
</script>
</head>
<body>
<div>Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
<p class="test"><span></span></p>
</body>
</html>
Hiển thị trình duyệt:
Ta thấy nội dung của mỗi thành phần div đã được bao ngoài bởi thành phần </span></p>Thành phần div</span></p>, chú ý là cách dùng này chỉ hiệu quả khi đoạn wrapInner được viết liên tục.
So sánh code HTML trước và sau khi có jQuery:
Trước khi có jQuery | Sau khi có jQuery |
---|---|
<div>Thành phần div</div> |
<div><p class="test"><span>Thành phần div</span></p></div> |
.wrapInner(function(index){})
Html viết:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div { border: 1px solid red;}
p { border: 1px solid blue;}
</style>
<script>
$(function(){
$("button").click(function(){
$("div").wrapInner(function(){
return "<p></p>"
});
});
});
</script>
</head>
<body>
<div>Thành phần p</div>
<button>Click để wrapInner nội dung của thành phần div</button>
</body>
</html>
Hiển thị trình duyệt:
Mỗi lần click vào button thì thành phần <p> sẽ được bao ngoài thêm thành phần <div>.
So sánh code HTML trước và sau khi có jQuery:
Trước khi có jQuery | Sau khi có jQuery |
---|---|
<p>Thành phần p</p> <button>Click để wrapInner thành phần p</button> |
<div><p>Thành phần p</p></div> |