如何获取jquery中的父id和该父级中所有元素的值?

时间:2012-11-19 13:41:24

标签: jquery

大家好我有一个看起来像这样的

               <div id="Address1" class="span4">
                    <ul class="address-customstyle unstyled">
                     <a href="#"><i onclick="EditAddress(this.id)" id="2" class="icon-edit mrglft largesize">
                                 </i></a><a href="#"><i onclick="DeleteAddress(this.id)" id="Address1" class="icon-remove mrglft largesize">
                                                   </i>
                                             </a>
                                        <li>
                                 <label>
                         <strong>
             <u id="addressname">
                       asdasd
                  </u>
                </strong>: </label>
               <span>
                <p id="hno">asdasd</p>,
                 <p id="streetname">asdasd</p>,
                 <p id="city">asdasd</p>,<p value="1" id="state">Andhra Pradesh</p>
               </span></li></ul></div>

现在当我点击EditIcon时,我有了这个

的id
              <i onclick="EditAddress(this.id)" id="2" class="icon-edit mrglft largesize">

现在我想要的是基于这个我必须得到父div和它的孩子的值

像所有“p”元素的值和“u”的值可以任何人告诉我我该怎么做

这个我现在正在做,但它不会进入循环

     function EditAddress(addressid) {
    alert(addressid);       
    alert(addresses);
    $("" + "#" + addressid + "").parent('.span4').find('p').each(function () {
        var $span = $(this);            
        var spanId = $span.attr('id');
        alert(spanId);
        var spanTxt = $span.text()
        alert(spanTxt);
    });

1 个答案:

答案 0 :(得分:0)

你必须这样做,它会降低循环水平。

var spanElem = $("#" + addressid).closest(".span4");
$("p", spanElem).each(function (){
   var $p = $(this);
   alert($p.attr("id"));
   alert($p.text());
});