jquery选择使用(this)

时间:2011-09-01 20:51:18

标签: jquery forms dom jquery-selectors

如果有多行。在单击带有单击功能的按钮后,如何使用(this)选择span类“currentDogTag”?当我尝试在click函数中发出警报(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>

3 个答案:

答案 0 :(得分:1)

当您选择这些范围标记时,例如,您的span标记的类别为.myspan 然后选择它们$('.myspan')你可以使用.eq( index )这样的选择器来提取你想要的span元素,这样做$('.myspan').eq(1)会给你第二个。{1}}。其他方式$('.myspan:first')$('.myspan:last')或甚至$('.myspan:first').next()

答案 1 :(得分:0)

从性能方面来说,你应该总是喜欢ID而不是类和导航dom树,因为它更快。

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

也许您可以提供次要代码示例,以便可以指出要执行的任务。我认为你会受益,因为你的描述听起来非常复杂,你想要完成的任务不需要复杂。

答案 2 :(得分:0)

为了进一步深入项目,为了简单和可能更好的练习,我创建了一个跨度的id,以便我可以轻松找到并更新它。