zoukankan      html  css  js  c++  java
  • 关于多个同样内容的div取值问题

    实际项目中,我们可能遇到过这样,需要按照用户需求,拼接多个内容以及格式一样的div。但是同样的div,id class什么的也是一样的,我们应该怎么去进行取值呢。

    如果下级标签只是div的子代的话,这个时候我们使用

    $(".div类名").eq(i).children("#子代对应ID").val()即可拿到我们需要的值

    但是如果下级标签被一层div包起来了,这个时候就算是子代div的子代了,这个时候children()就不好用了,我们应该怎么办呢

    $(".div类名").find("#后代对应的ID").eq(i).val()

    这里我用了一个子代对应ID和

                              后代对应ID

    如果我们需要获取的下级标签就是我们属于这个div的子代,那么这两种方式显然都是可行的

    如果我们需要获取的下级标签不属于这个div的子代,可能是这个div的子代的子代,甚至是......,这个时候就只可以用后者了,

    实际使用时候的代码

    var divOne = $(".divOne");
    var djj = "";
    var djjInfo = [];
    for(var i=0;i<divOne.length;i++){
    djj = divOne.find("#equipCode").eq(i).val()+"#"+
    divOne.find("#groupCode").eq(i).val()+"#"+
    divOne.find("#personCode").eq(i).val()+"#"+
    divOne.find("#venderCode").eq(i).val();
    djjInfo.push(djj);
    }

    当然还有一种比较究极方法,虽然有一点麻烦吧,但是也是可以做到的

    $("select[id=communicationTypes]").each(function(){
    selectOption=jQuery(this).val();
    communicationArrOne.push(selectOption);
    })

    就像这一段代码,我们在整个页面中,找到所有的这个id为这个名称的,然后通过each函数循环,这样我们也可以拿到所有的值了,但是如果需要获取的字段较多的话,这样的方式就显得过于繁琐了,不是特别推荐。这也是我最开始的时候使用的方法,用的时候也感觉不太好,一直想着改进呢。

    其实最上面两种方法,总结一下就是children()与find()的区别,这个有兴趣的可以直接去看api

    本篇文档主要为博主个人学习记录,如果可以帮到你,那样最好。大神看到也勿喷,这个主要是记录个人学习经历,谢谢。

  • 相关阅读:
    团队作业4--项目冲刺
    第七篇Scrum冲刺博客--Interesting-Corps
    第六篇Scrum冲刺博客--Interesting-Corps
    第五篇Scrum冲刺博客--Interesting-Corps
    第四篇Scrum冲刺博客--Interesting-Corps
    第三篇Scrum冲刺博客--Interesting-Corps
    第二篇Scrum冲刺博客--Interesting-Corps
    团队作业6——复审与事后分析
    alpha阶段项目复审
    团队作业5—测试与发布说明
  • 原文地址:https://www.cnblogs.com/lh-masteryi/p/7979360.html
Copyright © 2011-2022 走看看