Tôi có một mã số với DOM Tree sau:Làm thế nào để có được tất cả các liên kết của một danh sách bên trong một div?
<div id="blogPagination">
<div class="pagination">
<ul>
<li>
<a href="/2" >1</a>
</li>
<li>
<a href="/3" >2</a>
</li>
</ul>
</div>
</div>
Tôi đang cố gắng để đạt được href của thẻ của tôi. Tôi không thể đạt được nó với bất cứ điều gì tôi đã cố gắng.
Cách tốt nhất để tiếp cận nó với jQuery là gì?
tôi đã cố gắng:
console.log($('#blogPagination div ul > li a ').attr("href"));
console.log($('#blogPagination > a ').attr("href"));
$('#blogPagination').children('a')
console.log($('#blogPagination div ul li a').attr("href"));
mà không may mắn ..
Cảm ơn
EDIT:
Sau câu trả lời nbrooks của, đây là những gì tôi đã cố gắng cho đến nay:
function bindPagination() {
console.log("bind");
$(function() {
var links = $("#blogPagination ul a").map(function(e) {
e.preventDefault();
return this.href;
}).get();
console.log(links);
});
EDIT 2:
Xét câu trả lời Syfaro, tôi cũng đã cố gắng :
$('#blogPagination').find('a').each(function(e) {
e.preventDefault();
console.log($(this).attr('href'));
});
Không may mắn.
EDIT 3: tôi muốn cung cấp thêm thông tin chi tiết liên quan đến chức năng này có thể có một tác động đáng kể sau khi tất cả:
để tải pagination này, tôi đang sử dụng Ajax và tay lái bọc vào một hàm tài liệu sẵn sàng :
$(document).ready(function(){
// Get the customer service stats
var Content = {
init: function() {
/* this.getHomePosts(); */
this.getBlogPosts();
},
getBlogPosts: function(offset) {
if(offset == undefined){
offset = 0;
}
// GET the events with JSON
$.ajax({
type: "POST",
data: {},
url: site_url+"/main/blog/"+offset,
dataType: "json",
success: function(results) {
posts = results["posts"].map(function (blogContent) {
if(blogContent.picture != '') {
return {
Title: blogContent.title ,
Picture: Content.urlPostPic + blogContent.picture ,
Video: '' ,
Text: blogContent.text ,
Datetime: blogContent.datetime ,
}
} else {
return {
Title: blogContent.title ,
Picture: '' ,
Video: blogContent.video ,
Text: blogContent.text ,
Datetime: blogContent.datetime ,
}
}
});
pagination = {pagination: results["pagination"]};
var template = Handlebars.compile($('#templateBlog').html());
$('#blogPosts').append(template(posts));
var template = Handlebars.compile($('#templatePagi').html());
$('#blogPagination').append(template(pagination));
// Here we call bindPagination <===
bindPagination();
}
});
},
};
Content.init();
Bạn có thể nhìn thấy trong get blogposts chức năng mà tôi gọi là BindPagination mà được coi là chức năng này, để ngăn chặn hành vi mặc định và gọi cho nội dung phụ thuộc vào sự bù đắp (hệ thống pagination)
function bindPagination() {
console.log("bind");
var links = $("#blogPagination ul a").map(function(e) {
e.preventDefault();
return this.href;
}).get();
console.log(links);
$('#blogPagination').find('a').each(function(e) {
console.log("clicked !");
e.preventDefault();
console.log($(this).attr('href'));
// var attr = this.attr();
// var id = attr.replace("/","");
// $('#blogPosts').empty();
// $('#blogPagination').empty();
// Content.getBlogPosts(id);
});
}
});
lần cuối}); đứng cho phần cuối của tài liệu đã sẵn sàng.
Và bạn đã bao gồm jQuery và ghi nhớ tài liệu sẵn sàng, v.v.> ít nhất một vài trong số đó phải hoạt động -> http://jsfiddle.net/a4BKA/ – adeneo
vâng tôi đã làm, nó được đưa vào tài liệu sẵn sàng –
Kiểm tra JavaScript của bạn giao diện điều khiển để xem nếu có bất kỳ thông báo lỗi đăng nhập – nbrooks