如何识别由其他元素或标签包围的组元素?

时间:2010-02-05 12:22:13

标签: jquery function chaining

我有疑问请参考以下代码来理解这个问题。 (我从以下的html代码中删除了'<'和'>'字符,因为否则html标记将不可见,所以我只写了标记名称)

<div>
    <div>
       <img />
       <img />
       <img />
       <img />
    </div>
</div>

我想在jQuery的帮助下解决以下任务

  1. 在内部div之间的四个img中准备好文件只有第一个img应该是可见的,而三个img的其余部分应该被隐藏。
  2. 现在关注特定事件,如焦点,点击等。在内部div之间的四个img中,可见img得到隐藏,另一个应该可见。
  3. 其他一些问题:

    1. jQuery是否只能识别其他标签所包含的元素?

    2. 我也想知道控件如何在jQuery中流动?特别是链式功能。 对于EX。

      1. $(selector).fun1(val,{fun2(){ }} 在上面的示例中,首先执行哪个函数以及按什么顺序执行。

      2. $(selecter).fun1().fun2().fun3() 在上面的示例中,首先执行哪个函数以及按什么顺序执行。

      3. 函数链中的函数以什么顺序执行?

    3. 等待你的回复!

1 个答案:

答案 0 :(得分:1)

尝试像我做的here


根据您的要求,第一张图片(twitter)不会改变。唯一受影响的图像是div中具有类sample

的图像

HTML

<img src="https://s3.amazonaws.com/twitter_production/a/1265328866/images/twitter_logo_header.png"/>

<input type="text"/>
<input type="text"/>
<input type="text"/>
<input type="text"/>

<div class="sample">
  <img src="http://sstatic.net/so/img/logo.png">
  <img src="http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif">
  <img src="http://cacm.acm.org/images/logo.ACM.gif">
  <img src="http://static03.linkedin.com/img/logos/logo_linkedin_88x22.png">
</div>

的JavaScript

$(function () {
    var textboxes = $("input:text"), //gets all the textboxes         
        images = $(".sample img");   //gets all the images

    images.not(":first").hide(); //hide all of them except the first one
    textboxes.each(function (i) {
        var j = i;
        $(this).focus(function () {
            images.hide().eq(j).show();
        });
    });
});