2012-04-23 27 views
6

có cách nào, với jquery, để exapmle khi nhấp chuột, tìm tất cả các phần tử khung nội tuyến, xóa thẻ src = của họ và trả lại không? loại, làm mới :)tìm tất cả các iframe srcs với jquery

Đang tìm kiếm chức năng foreach hoặc một cái gì đó như thế, nhưng tôi khá thất vọng tại này :(

Cảm ơn thời gian của bạn, Mart

+0

Nếu làm mới là những gì bạn muốn? Kiểm tra câu trả lời của tôi – Starx

Trả lời

6
$(document).ready(function(){ 
$('#somebuttonid').click(function(){ 
$("iframe").each(function() { 
     var src= $(this).attr('src'); 
     $(this).attr('src',src); 
}); 

    }); 
}); 
+1

Điều đó sẽ cung cấp cho mỗi 'iframe'' src' của 'iframe' đầu tiên. –

+0

Bạn không làm rỗng thẻ src ở bất kỳ đâu trong mã của bạn –

+0

@Jannis: Mặc dù vậy, nó được đặt lại. Tôi nghĩ rằng đây là giải thích chính xác của "loại bỏ và trả lại; loại làm mới". (yêu cầu điều chỉnh theo bình luận của Felix, tất nhiên) –

3

Bạn có thể làm mới tất cả các iframe như thế này

$("iframe").each(function() { 
    $(this).attr('src', $(this).attr('src')); 
}); 
2

Bạn có thể vượt qua một chức năng để .attr()[docs] (hoặc .prop()[docs]):

$('iframe').attr('src', function(index, val) { 
    return val; 
}); 

Chức năng này được thực thi cho từng phần tử. Nó ngắn gọn hơn một chút so với sử dụng vòng lặp .each rõ ràng.

+0

Xin vui lòng giải thích các downvote để tôi có thể cải thiện câu trả lời của tôi. Cảm ơn bạn! –

+1

Làm thế nào để câu trả lời này 'loại bỏ thẻ src = của họ, và đưa nó trở lại'? – Starx

2

Bạn thậm chí không cần jQuery:

for(var i = 0; i < frames.length; i++) { 
    frames[i].src = frames[i].src; 
} 
+0

Cần đọc Bạn không cần phải có Jquery. –

+0

Cảm ơn, rất hữu ích. Bây giờ chúng ta hãy tìm tất cả lỗi chính tả tại trang này và downvote tất cả chúng @LuisTellez –

+0

Tôi không thể chỉnh sửa nó vì tôi cần phải thay đổi ít nhất 6 ký tự, đó là lý do duy nhất tại sao tôi chỉ ra. –

Các vấn đề liên quan