Thêm thành phần với .before()

Đôi khi muốn thêm một thành phần vào trước thành phần đã có, có khi cần nhiều cách xử lý chuỗi, hay kết hợp nhều thành phần khác nhau, ở jQuery có cung cấp cho chúng ta cách tiếp cần dễ hơn với .before().

.before()

  • Thêm một thành phần mới vào ngay trước thành phần có sẵn bằng function .before().
  • Tham khảo thêm .before()

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Học Web Chuẩn</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('div').before('<p>Nội dung thêm vào</p>');
});
</script>
<style>
* { /* reset lại margin và padding cho các tag */
    margin: 0;
    padding: 0;
}
div, p {
    border: 2px solid #c00;
    padding: 10px;
}
p { border-color: #00c;}
</style>
</head>
<body>
<div>Thành phần div</div>
</body>
</html>

Hiển thị trình duyệt:

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>

<p>nội dung thêm vào</p>
<div>Thành phần div</div>

Download file để thực hành

:before() cho từng item

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Học Web Chuẩn</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('li').before('<li class="add">Nội dung thêm vào</li>');
});
</script>
<style>
* { /* reset lại margin và padding cho các tag */
    margin: 0;
    padding: 0;
}
li {
    border: 2px solid #c00;
    padding: 10px;
}
.add { border-color: #00c;}
</style>
</head>
<body>
<ul>
<li>Thành phần li</li>
<li>Thành phần li</li>
<li>Thành phần li</li>
</ul>
</body>
</html>

Hiển thị trình duyệt:

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<ul>
<li>Thành phần li</li>
<li>Thành phần li</li>
<li>Thành phần li</li>
</ul>

<ul>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
</ul>

:before() kết hợp với function .click()

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Học Web Chuẩn</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    var item = $('<li class="add">Nội dung thêm vào</li>');
    
    $('button').click(function(){
        $('li').before(item);
    });
});
</script>
<style>
* { /* reset lại margin và padding cho các tag */
    margin: 0;
    padding: 0;
}
li {
    border: 2px solid #c00;
    padding: 10px;
}
.add { border-color: #00c;}
button {
    margin-bottom: 5px;
    padding: 0 5px;
}
</style>
</head>
<body>
<button>Click</button>
<ul>
<li>Thành phần li</li>
<li>Thành phần li</li>
<li>Thành phần li</li>
</ul>
</body>
</html>

Hiển thị trình duyệt:

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<ul>
<li>Thành phần li</li>
<li>Thành phần li</li>
<li>Thành phần li</li>
</ul>

<ul>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
<li class="add">Nội dung thêm vào</li>
<li>Thành phần li</li>
</ul>

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *