【问题标题】:jquery selecting using (this)jquery 选择使用 (this)
【发布时间】:2011-11-08 17:38:45
【问题描述】:

如果有多行。在单击具有单击功能的按钮后,如何使用(this)选择跨度类“currentDogTag”?当我在 click 函数中尝试 alert(this) 时,它返回一个对象。

<?php do { ?>
    <div class="owner-pet-row"><a name="petid<?php echo $row_rsOwnerPets['id_pet']; ?>" id="petid<?php echo $row_rsOwnerPets['id_pet']; ?>"></a>
      <div class="owner-pet-row-petname">
        <div class="owner-pet-edit-pet"><a href="pet-edit.php?id=<?php echo $row_rsOwnerPets['id_pet']; ?>">edit</a></div>
        <?php echo $row_rsOwnerPets['dogname_pet']; ?></div>
      <div class="owner-pet-row-left-div">
        <div class="owner-pet-row-container">
          <div class="owner-pet-view-label">Tag#:</div>

          <div class="owner-pet-view-data"><span class="currentDogTag"><?php echo $row_rsGetCurrentTag['tagnumber']; ?> | <strong><?php echo $row_rsGetCurrentTag['year_tag']; ?></strong></span> <a href="javascript:void(0);" class="update-dogtag-tag" dogtagid="<?php echo $row_rsOwnerPets['id_pet']; ?>">Update Tag</a>
            <div style="display:none" class="formfor-tagupdate">
              <form id="form1" name="form1" method="post" action="" onSubmit="return false">
                <div class="form-row">tagnumber
                  <input name="tagnumber" type="text" class="form-inputbox" id="tagnumber" />
                </div>
                <div class="form-row">year
                  <select name="year_tag" id="year_tag" style="width:100px">
                    <option>NULL</option>
                    <option value="2011">2011</option>
                    <option value="2012">2012</option>
                    <option value="2013">2013</option>
                  </select>
                </div>
                <div class="form-row-buttons">
                  <input name="update" type="submit" class="form-button-save" id="update" value="save" />
                  <input name="id_pet" type="hidden" id="id_pet" value="<?php echo $row_rsPetInfo['id_pet']; ?>" />
                </div>
              </form>
            </div>
          </div>
        </div>
        <div class="owner-pet-row-container">
          <div class="owner-pet-view-label">Color:</div>
          <div class="owner-pet-view-data"><?php echo $row_rsOwnerPets['color_pet']; ?></div>
          <div class="owner-pet-row-container">
            <div class="owner-pet-view-label">Breed:</div>
            <div class="owner-pet-view-data"><?php echo $row_rsOwnerPets['breed_pet']; ?></div>
          </div>
        </div>
      </div>
      <div class="owner-pet-row-right-div">
        <div class="owner-pet-row-container">
          <div class="owner-pet-view-label">Shot Given:</div>
          <div class="owner-pet-view-data"><?php echo $row_rsOwnerPets['rabieshotgiven_pet']; ?></div>
        </div>
        <div class="owner-pet-row-container">
          <div class="owner-pet-view-label">Shot Expire:</div>
          <div class="owner-pet-view-data"><?php echo $row_rsOwnerPets['rabiesshotexpire_pet']; ?></div>
        </div>
        <div class="owner-pet-row-container">
          <div class="owner-pet-view-label">Vet:</div>
          <div class="owner-pet-view-data"><?php echo $row_rsOwnerPets['name_vet']; ?></div>
        </div>
      </div>
      <div style="clear:both"></div>
    </div>
    <?php } while ($row_rsOwnerPets = mysql_fetch_assoc($rsOwnerPets)); ?>
    </div>

【问题讨论】:

  • 你能提供一些代码或链接吗?
  • 更改了问题,以简化这个混乱的问题。
  • 使用 console.log( $(this) ) ;-)

标签: jquery forms dom jquery-selectors


【解决方案1】:

好吧,当您选择这些跨度标签时,例如,您的跨度标签有一个 .myspan 类 然后选择它们$('.myspan'),您可以使用.eq( index ) 等选择器提取您想要的span 元素,因此$('.myspan').eq(1) 将给您第二个。其他方式$('.myspan:first')$('.myspan:last') 甚至$('.myspan:first').next()

【讨论】:

    【解决方案2】:

    从性能方面来看,您应该始终更喜欢 id 而不是类和导航 ​​dom 树,因为它更快。

    如果您使用 firebug,您可以使用 console.info 作为日志记录并记录每个步骤,以便您可以重现它们。做得好,你知道你在 dom 中的什么位置,并且可以采取相应的行动。更好的是使用 firebug 进行调试,但这可能无法帮助您解决您在 dom 中的问题。

    也许您可以提供一个小代码示例,以便指出要执行哪些任务。我认为您会受益,因为您的描述听起来很复杂,而且您想要完成的任务不需要复杂。

    【讨论】:

      【解决方案3】:

      为了更深入地了解项目,为了简单起见和更好的实践,我为 span 创建了一个 id,以便我可以轻松找到并更新它。

      【讨论】:

        猜你喜欢
        • 2012-08-18
        • 2010-09-19
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 2017-01-26
        • 2012-03-11
        • 1970-01-01
        • 2011-01-28
        相关资源
        最近更新 更多