if 语句 (jQuery) 中的两个条件
Two conditionals inside an if statement (jQuery)
我正在尝试添加一个 if 语句,该语句检查图像是否宽于 199px,以及它是否没有<>父元素。这有效:
$('div.post_body').each(function() {
$(this).find('img').each(function () {
var img = $(this);
if (img.is('a') !== true) {
img.wrap($('<a/>').attr('href', img.attr('src')).addClass('lightview limg'));
}
});
});
这行得通
$('div.post_body').each(function() {
$(this).find('img').each(function () {
var img = $(this);
if (img.width() > 199) {
img.wrap($('<a/>').attr('href', img.attr('src')).addClass('lightview limg'));
}
});
});
这不起作用:
$('div.post_body').each(function() {
$(this).find('img').each(function () {
var img = $(this);
if ((img.width() > 199) && (img.is('a') !== true)) {
img.wrap($('<a/>').attr('href', img.attr('src')).addClass('lightview limg'));
}
});
});
有人可以帮忙吗?
所以你想让所有图像直接在div
内超过某个维度?
$("div.post_body > img").wrap(function(){
if ( $(this).width() > 199 ) {
return $("<a>").attr("href", this.src).addClass("lightview limg");
}
});
演示:http://jsfiddle.net/BQAZH/1/
通过查看代码中存在的逻辑,您似乎在尝试测试img
是否被 <a></a>
包装,如果没有,则包装它。
如果是这样,您可以通过以下方式优化代码:
$('div.post_body img').each(function() {
var $img = $(this);
if (($img.width() > 199) && ($img.parent('a').length)) {
$img
.wrap($('<a/>').attr('href', $img.attr('src')).addClass('lightview limg'));
}
});
您可以检查其父元素是否是锚元素:
$('div.post_body img').each(function() {
var img = $(this);
if ((img.width() > 199) && (img.parent().get(0).tagName != 'a')) {
img.wrap($('<a/>').attr('href', img.attr('src')).addClass('lightview limg'));
}
});
相关文章:
- 基于两个条件退出While循环
- Jquery:当两个或多个条件为true时,选择一个元素
- Regex目标特定单词基于两个起始行条件
- 如何使用jQuery绕过具有指定类和两个条件的元素的函数
- 比较IF条件下的两个javascript数值
- 在if语句中检查这两个条件,即使第一个条件为false
- jQuery Tools Overlay-两个具有不同关闭条件的按钮
- 执行Jquery函数()的两个条件
- 在输入后,有条件地应用Angular中的两个类之一
- 单击编辑按钮时,如何根据另外两个文本框的条件隐藏或禁用单选按钮列表和文本框
- 如果选中两个复选框,则条件在 jQuery 中不起作用
- 如何在操作类中识别两个不同的 JSP 页面按钮?如何基于 JSP 页面视图按钮和查看全部按钮编写条件
- 如果在 JavaScript 中的 if 条件之后在执行块中使用两个等于而不是只有一个,会发生什么情况
- 获取具有两个条件的所有文本框值
- Javascript 正则表达式条件语句,当在字符串中检测到两个相同字符时
- if 语句 (jQuery) 中的两个条件
- 满足两个条件时的 jQuery 执行函数
- 两个条件 - 这将是第一个
- 创建一个新的数组,通过在jQuery中使用条件迭代来组合两个现有对象
- 具有两个条件的 while 循环仅检查一个