我的div
结构应该是这样的:
<div id="dashboard">
<img id="pic1" src="...png" />
<h6>....</h6>
</div>
要创建div
我使用此:
$('<div>', {
'id': 'dashboard'
}).appendTo('body');
我需要在上面h6
中附加带有文字的div
标记。如何才能做到这一点?另外,如果点击h6
,如何访问div
代码中的文字?
$('#dashboard div').hover(function() {
alert($(this).children().eq(2) ?? );
};
答案 0 :(得分:6)
要添加h6
元素,请尝试以下操作:
var $div = $('<div>', {
'id':'dashboard'
}).appendTo('body');
$("<h6></h6>").text("Foo").appendTo($div);
要点击h6
访问div
的文字,请尝试以下操作:
$("body").delegate("#dashboard", "click", function() {
var text = $("h6", this).text();
alert(text);
});
假设您使用的是jQuery 1.6或更低版本。如果您使用的是jQuery 1.7+,则可以使用on()
:
$("body").on("click", "#dashboard", function() {
var text = $("h6", this).text();
alert(text);
});
此外,我在这里使用$("body")
作为示例 - 您应该使用一个最接近您要附加事件的元素的选择器(在这种情况下为#dashboard
),这不是动态的创建