1

我的悬停目标是“#Font-Size input:text”,在我的 HTML 代码中如下所示;

<div id="Font-Type">
    <input type="text" name="Size-Input" maxlength="2" value="12">

将鼠标悬停在我的文本输入字段上时,我希望 JQuery 打开一个警报框,其父 ID 为“#Font-Type”。我尝试了以下方法,但即使没有“.parent()”部分,警告框也只显示“OBJECT”;

var thisParent = $(this).parent();
alert(thisParent);

有没有人有任何想法,因为我试图最小化我的页面所需的代码,因为我需要找到不止一个“输入:文本”的父级。

最好的祝福,

蒂姆

4

7 回答 7

1

尝试

alert($(thisParent).attr("id"));

关于 jsfiddle 的示例:http: //jsfiddle.net/jurgenstillaert/ySMLE/

thisParent 是一个 DOM 对象,您可以使用 $() 句柄来处理它的属性和事件处理程序。

于 2013-04-08T12:03:44.593 回答
0

在您的情况下,您将对象传递给警报而不是一些字符串,即 id。你需要用来attr()显示id

alert(thisParent.attr("id"));

或者

alert(thisParent[0].id);
于 2013-04-08T12:03:58.270 回答
0

尝试:

var thisParent = $(this).parent().attr('id');
alert(thisParent);
于 2013-04-08T12:04:22.683 回答
0

警报向您显示对象,因为$(this)包含 DOM 对象。

如果您想提醒 ID,请按如下方式使用它。

alert($(this).parent().attr('id'));
于 2013-04-08T12:05:20.513 回答
0

试试这个:

var thisParent = $(this).parent();
alert(thisParent.attr('id'));

当你这样做时:

var thisParent = $(this).parent();
alert(thisParent);

这为您提供了parentjQuery 对象,这就是为什么您会收到类似“OBJECT”的警报;

为了id在 jQuery 中获取,我们需要这样做:

$(element).attr('id');

这将返回 jQuery 对象id属性。

于 2013-04-08T12:06:31.313 回答
0

试试下面的代码:还要确保您的 div 已正确关闭。

  alert(thisParent.attr("id"));
于 2013-04-08T12:06:32.123 回答
0

试试这个 :

$(function(){
$("#txt").hover(function(){
    alert($(this).parent().attr("id"));    
 }); 
});
于 2013-04-08T12:08:30.787 回答