如何在jquery中使用Or运算符

时间:2015-02-24 20:33:01

标签: jquery sharepoint-2010

我正在尝试使用jquery中的用户或操作符,但看起来代码呈现没有错误,但它没有实现。只有icjpg.gif在页面上呈现。

<SCRIPT type=text/javascript>
$(document).ready(function(){
$("img[src$='icjpg.gif']").each(SetImage) || $("img[src$='icpng.gif']").each(SetImage);

});
function SetImage()
{
    $(this).attr('height','100');
    $(this).attr('src','/it/Site/DocLib/'+$(this).attr('title')); 
}
</SCRIPT>

3 个答案:

答案 0 :(得分:2)

为什么在这里使用OR运算符? OR语句用于查看两个语句中是否至少有一个为TRUE。 例如,您可以在IF语句中使用它来执行一段代码 ,如果 ,其中一个是真的。

据我所知,您尝试实现的目标是设置所有icjpg.gif图像的属性,并设置所有icpng.gif图像的属性。

试试这个:

<SCRIPT type=text/javascript>
$(document).ready(function(){
$("img[src$='icjpg.gif']").each(SetImage);
$("img[src$='icpng.gif']").each(SetImage);

});
function SetImage()
{
    $(this).attr('height','100');
    $(this).attr('src','/it/Site/DocLib/'+$(this).attr('title')); 
}
</SCRIPT>

答案 1 :(得分:1)

如果你想影响两个选择器,你只需要使用两个选择器

$("img[src$='icjpg.gif'], img[src$='icpng.gif']").each(SetImage);

你的第二个条件永远不会被满足的原因是jQuery对象总是真实的,所以or永远不会运行

答案 2 :(得分:1)

我无法对你的代码做出正面或反面...你是否试图用或做一个条件陈述?喜欢:

if(a || b){}else{}

Or条件将首先检查左侧,如果是,则它不会检查右侧。这有帮助吗?