我是这样的HTML:
<div>
<table>
</table>
<div>
</div>
</div>
在JavaScript中,我已经可以访问此表。现在我想从父节点获取另一个子元素(div)。
var par = table.parentNode;
var ch = $(par).children("div").first();
实际上我有一个对象,但是当我尝试添加像
这样的HTML时ch.innerHTML = "Test";
我没有成功。未添加文本测试。如果我将文本添加到par
本身,它可以工作,但是一旦我用jquery生孩子,它就不起作用。
为了进行调试,我提醒par
和ch
。在par
的情况下,我看到我有HTMLDivElement,如果是ch
,它只是一个Object。
我做错了什么?
提示:给div一个id并以这种方式获取它不是我的应用程序的解决方案!
答案 0 :(得分:3)
你是以一种非常奇怪的方式使用jQuery和Javascript,为什么你在jQuery对象上使用Javascript方法?
如果$(par).children("div").first();
包含正确的对象,您可以通过jQuery设置其html,如下所示:
$(par).children("div").first().html('test');
答案 1 :(得分:1)
ch
指的是jQuery元素集合(警告[object Object]
)所以应该起作用的是什么
ch[0].innerHTML = "Test";
(ch[0]
= [object HTMLDivElement]
)
或
ch.html( "Test" );
在任何情况下我都不推荐前者,只是指出出了什么问题。
答案 2 :(得分:0)
鉴于table
并希望div
,您可以使用.siblings
:
$(table).siblings('div').first().html('Test');