jQuery 获取嵌套 div 元素内的元素属性

发布于 2024-11-30 12:01:01 字数 699 浏览 1 评论 0原文

页面上的对象

<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'));
});

提前感谢您拯救了我剩下的头发。

The object on the page

<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>

I need to get the value of the title attribute from the div.

Put a few hours into this with no luck (all return undefined)

$('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'));
});

Thanks in advance for saving th rest of my hair.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

土豪我们做朋友吧 2024-12-07 12:01:01
$('div[id^="button"]').bind('click mouseover mouseout submit', function(event) {
    testThis = $(this).children('a');
    alert(testThis.attr('title'));
});
$('div[id^="button"]').bind('click mouseover mouseout submit', function(event) {
    testThis = $(this).children('a');
    alert(testThis.attr('title'));
});
浅笑轻吟梦一曲 2024-12-07 12:01:01

this 的内容不是 jQuery 对象,而是 DOM 元素。将其包装在 jQuery 对象中以使用 childrenfind 方法,然后就不需要包装结果:

$('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);

The contents of this is not a jQuery object, it's a DOM element. Wrap it in a jQuery object to use the children and find methods, and then you don't need to wrap the result:

$('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'));
});

Also, declare the variable locally, so that they don't end up in the global namespace.

Another variation is to use the DOM element as context for a search:

var testThis = $('a', this);
只想待在家 2024-12-07 12:01:01

您需要将 this 转换为 jQuery 对象,然后才能在其上使用 jQuery 函数。

$('div [id^="button"]').bind('click mouseover mouseout submit',function(event){
    alert($(this).find('a')).attr('title'));
});

You need to turn this into a jQuery object before you can use jQuery functions on it.

$('div [id^="button"]').bind('click mouseover mouseout submit',function(event){
    alert($(this).find('a')).attr('title'));
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文