javascript - Finding the value of a class within a list -
i have
<ul id="list"> <li data-markerid="0" class=""> <div class="list-label">a</div> <div class="list-details"> <div class="list-content"> <div class="loc-id">2</div> <div class="loc-addr">england</div> <div class="loc-dist">2 miles</div> <div class="loc-addr2">test</div> <div class="loc-addr2">bristol</div> </div> </div> </li> <li data-markerid="1" class=""> <div class="list-label">a</div> <div class="list-details"> <div class="list-content"> <div class="loc-id">3</div> <div class="loc-addr">england</div> <div class="loc-dist">60 miles</div> <div class="loc-addr2">test</div> <div class="loc-addr2">london</div> </div> </div> </li> </ul>
i'm wanting extract value of using jquery.
i tried:
var targetid = $(this).find('.loc-id').text();
but gets me values of both loc-id's. want 1 i'm selecting (clicking).
for total context, please here: parsing info using jquery
$('#list').click(function () { //change src of img var targetid = $(this).find('.loc-id').text(); // id // since array of objects isn't indexed, need loop find right 1 var foundobject = null; (var key in parsedarray) { if (parsedarray.hasownproperty(key) && parsedarray[key].id == targetid) { foundobject = parsedarray[key]; break; } } // if object found, extract image , set! if (!foundobject) return; var imagesrc = foundobject.locationphoto; // object $('#location-image').attr('src', imagesrc); // set new source });
thanks
in click handler, this
references <ul>
element has multiple <li>
children.
change click handler deed delegate instead:
$('#list').on('click', 'li', function () {
now, within click handler, this
references <li>
element search should yield single value.
javascript jquery
No comments:
Post a Comment