页面上的对象
<DIV style="TEXT-INDENT: 0px; VISIBILITY: inherit" id=button46 jQuery16107163179349561973="2">
<A title=Exit href="javascript:void(null)" name=button46anc>
<IMG style="CURSOR: pointer" border=0 name=button46Img alt=Exit src="images/btn-exitoff.gif" width=66 height=39>
</A>
</DIV>
我需要从div获取title属性的值。
在没有运气的情况下花几个小时(所有返回未定义)
$('div [id^="button"]').bind('click mouseover mouseout submit',function(event){
testThis = $(this.children('a'));alert($(testThis).attr('title'));
testThis2 = $(this.find('a'));alert($(testThis2).attr('title'));
});
提前感谢您保存了我的头发。
答案 0 :(得分:3)
$('div[id^="button"]').bind('click mouseover mouseout submit', function(event) {
testThis = $(this).children('a');
alert(testThis.attr('title'));
});
答案 1 :(得分:0)
this
的内容不是jQuery对象,它是一个DOM元素。将它包装在jQuery对象中以使用children
和find
方法,然后您不需要包装结果:
$('div [id^="button"]').bind('click mouseover mouseout submit',function(event){
var testThis = $(this).children('a'); alert(testThis.attr('title'));
var testThis2 = $(this).find('a'); alert(testThis2.attr('title'));
});
此外,在本地声明变量,以便它们不会在全局命名空间中结束。
另一种变体是使用DOM元素作为搜索的上下文:
var testThis = $('a', this);
答案 2 :(得分:0)
您需要先将this
转换为jQuery对象,然后才能使用jQuery函数。
$('div [id^="button"]').bind('click mouseover mouseout submit',function(event){
alert($(this).find('a')).attr('title'));
});