我正在努力在特定元素的宽度小于50时显示消息,但是有多个元素具有相同的类,并且只有页面中的第一个元素显示消息。这是jsfiddle http://jsfiddle.net/MaNdn/23/
这是功能。
function checkads() {
if ($('#container').height() < 50) {
$('#container').parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
//
}
}
$(document).ready(checkads);
我的问题是,如何将消息添加到找到的所有元素id实例之前。我的网站周围有各种各样的广告,它们都包含在一个名为advertisement_container
的div元素中,然后如何将它们全部匹配
答案 0 :(得分:5)
您需要使用each()来遍历匹配的元素。而不是为多个元素使用相同的id使用相同的类,因为元素的id 应该是唯一的。要选择具有相同类的多个元素,您可以使用属性选择器,如$('[id = container]'),但最好使用类并保持元素的
<强> Live Demo 强>
function checkads() {
$('.someclass').each(function(){
if($(this).height() < 50) {
$(this).parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
}
});
}
$(document).ready(checkads);
答案 1 :(得分:1)
ID必须是唯一的。将其更改为类,而不是ID,然后您可以使用filter等类似
function checkads() {
$('.container').filter(function (index) {
return $(this).height() < 50;
}).parent().parent().prepend('<div id="ad-notice">Please support our website</div>');
}