开发者

Problems with jquery selector

I have a trouble with selecting element attributes with jquery here is my HTML:

<a class="myselector" rel="I need this value"></a>

<div class="someClass" id="someID">
...bunch of elements/content
<input type="button" name="myInput" id="inputID" title="myInput Title" />
...bunch of elements/content
</div>

...bunch of elements/content

Here I'm trying to get the rel value of myselector here is how I tried but its not working :

$('#inputID').live('click',function(){
console.log($(this).closest('a.myselector').attr('rel'));
});
开发者_运维问答

Also tried this since all is wrapped in wrapper div :

$('#inputID').live('click',function(){
console.log($(this).parent('div.wrapper').find('a.myselector').attr('rel'));
});

I get undefined value in firebug in both cases, I use live because div#someID is loaded in the document its not there when page first loads. Any advice, how can I get my selector rel value?

EDIT:

However when I look for ('a.myselector') without rel attribute, I alert Object object and get console.log something []


This should work:

console.log($(this).closest('div.wrapper').find('a.myselector').attr('rel'));

Your first example in your question does not work because the anchor tag you are trying to select is not a parent/ancestor:

console.log($(this).closest('a.myselector').attr('rel'));

Your second example would work if you changed .parent() to .parents(), as .parent() only traverses one level up the DOM, so the following:

console.log($(this).parents('div.wrapper').find('a.myselector').attr('rel'));


Just off the top of my head, have you tried accesing your rel value without using live (ie with direct id $("inputid").attr("rel") )?

I usually eliminate suspects one by one when faced with a problem like this.


Please try this:

$('#inputID').live('click',function(){
  // alert($(this).parent().parent().html());
alert($(this).parent().parent().find('a.myselector').attr('rel'));
});

HTH

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜