1

使用 jQuery 的完整新手并且遇到了一些问题。

我有一个表格,其中一些单元格中有一个(每个单元格不超过一个选择)。

在下面的代码中,select 是传递给函数的元素。我正在尝试获取父级,以便我可以删除并用一些 html 替换它。

function submit_pick( select ) {
    var parent = select.parent().get(0);      
    select.remove();
    jQuery("#testdiv").html(parent.tagName);
    parent.html(parent.tagName);
}

select.remove();按预期工作

jQuery("#testdiv").html(parent.tagName);也可以按预期生产TD

parent.html(parent.tagName);不起作用。Firefox 的 Web 控制台给出错误 parent.html is not a function。

4

5 回答 5

2

.get(0)返回一个本机DOMElement而不是jQuery对象,因此您需要包装parent内部$()(也是html()抱怨不是函数的原因,因为它html()属于 jQuery 对象,而不是DOMElement):

jQuery(parent).html(parent.tagName);
于 2012-04-25T03:48:10.040 回答
1

尝试:


jQuery(parent).html(parent.tagName);
于 2012-04-25T03:47:47.933 回答
0

parent不再是 jQuery 对象,您必须使用:

$(parent).html(parent.tagName);
于 2012-04-25T03:47:01.897 回答
0

get 返回一个 dom 元素而不是 jquery 对象。尝试

var parent = select.parent().eq(0);      

eq为您提供索引处的 jquery 对象,这正是您想要的

于 2012-04-25T03:47:45.003 回答
0

这是因为您已经完成.get(0)了返回 DOM 元素,而不是 jquery 对象的操作。

http://api.jquery.com/get/

您应该使用jQuery(parent)才能.html()再次使用该方法。

于 2012-04-25T03:48:46.660 回答