jquery .attr(“alt”)=='name'

时间:2010-03-01 15:34:41

标签: javascript jquery html css

有人可以帮我告诉我以下代码有什么问题吗?

$(document).ready(function(){
    $("img").attr("alt")=='minimize'.click(function(){
      alert("he");
     });
});

感谢。

加成: 对不起,伙计们,我正在尝试将一个事件添加到一个表格内的图像中,所以当它点击它时会折叠需要的div。

我在这里面临几个问题。

1.-所有表和div使用相同的类。 2.-它可能至少有两个表和div。 3.-第一个表不应该是可点击的,只有它的图像(用于显示和隐藏div) 4.-其他表应该点击整个表来显示和隐藏div下的slidetoggle。 5.-其余表格还有两个用于显示slideDown和slideUp的图像。

我有什么工作但不完全。

再一次。

感谢。

到目前为止,这就是我所拥有的。

<script type="text/javascript">
 $(document).ready(function(){

   $(".heading:not(#Container1)").click(function(){
   var c = $(this).next(".container");
   c.slideToggle("slow");
   });


   });

   $(document).ready(function(){
   $("img[alt='min']").click(function(){
   var c = $(this).next(".container");
   c.slideToggle("slow");

   });

   $("img[alt='max']").click(function(){
   var c = $(this).next(".container");
   c.slideToggle("slow");

   });
   });
</script>

<html>
  <head></head>
  <body>
    <table class="heading" id="container1">
      <tr>
        <td>heading1</td>
        <td><img alt='min'/><img alt='max'/></td>
     </tr>
   </table>
   <div class='container'>Container1</div>
   <table class="heading">
     <tr>
       <td>heading2</td>
       <td><img alt='min'/><img alt='max'/></td>
      </tr>
   </table>
   <div class='container'>Container2</div>
   <table class="heading">
     <tr>
       <td>heading3</td>
       <td><img alt='min'/><img alt='max'/></td>
     </tr>
   </table>
   <div class='container'>Container3</div>
 </body>
</html>

4 个答案:

答案 0 :(得分:7)

您需要使用属性选择器不获取属性并进行比较。

$(document).ready(function(){ 
    $("img[alt='minimize']").click(function(){ 
      alert("he"); 
     }); 
});

答案 1 :(得分:4)

$(document).ready(function(){
    $("img[alt='minimize']").click(function(){
        alert("he");
    });
});

修改

$(function() {
    $('img[alt='min'], img[alt='max']').click(function() {
        var container = $(this).parent('table').next('div.container');

        if ( $(this).attr('alt') == 'min' )
            container.slideUp('slow');

        if ( $(this).attr('alt') == 'max' )
            container.slideDown('slow');

        return false;
    });

    $('table.heading:not(:first)').click(function() {
        $(this).next('div.container').slideToggle('slow');

        return false;
    });
});

答案 2 :(得分:2)

alt属性不是过滤图片的方法。它旨在为无法显示图像(未找到,用户不需要,无屏幕等)提供替代内容。

您应该使用class属性来区分您想要的图像。

然后您的代码变为:

HTML

<img src="..." class="minimize" alt="A beautiful image">

的Javascript

$(document).ready(function(){
    $("img.minimize").click(function(){
        alert("he");
    });
});

答案 3 :(得分:1)

这在语法上是不正确的。你想做什么?也许这个?

$(document).ready(function(){
  $("img[alt=minimize]").click(function(){
    alert("he");
   });
});