使用 jquery 动态创建元素
2013-02-06
35592
我正在尝试使用 jquery 创建元素。当我单击链接时,我想创建一个元素“p”,为其添加一些文本,然后将其放入我的一个 div 中。此外,我想检查单击了哪个链接,以便我可以将创建的“p”放入正确的 div 中。有没有关于我哪里做错了的解决方案?
Javascript/Jquery
$(document).ready(function () {
function createElement() {
var a = $("#menu").find('a').each(function(){
if(a == "l1"){
var text = $(document.createElement('p');
$('p').text("Hej");
$("#contentl1").append("text");
}
});
}
$("#menu").find('a').each(function () {
$(this).click(function () {
createElement();
});
});
createElement();
});
HTML
<html>
<head>
<title>Inl1-1</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style-1.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="Uppg1.js"></script>
</head>
<body>
<ul class="meny" id="menu">
<li><a href="#" id="l1">Utvärdering/Feedback</a></li>
<li><a href="#" id="l2">Kontakt</a></li>
<li><a href="#" id="l3">Öppettider</a></li>
<li><a href="#" id="l4">Om Asperöd</a></li>
</ul>
<div id="contentl1">
</div>
<div id="contentl2">
</div>
<div id="contentl3">
</div>
<div id="contentl4">
</div>
</body>
</html>
3个回答
以下是使用 jQuery 将带有文本
“Hej”
的新
<p>
元素添加到
#contentl1
的最佳方法:
$("<p />", { text: "Hej" }).appendTo("#contentl1");
VisioN
2013-02-06
function createElement() {
var a = $("#menu").find('a').each(function(){
if(a == "l1"){
var p = $("<p>");
p.text("Hej");
$("#contentl1").append(p);
}
});
}
Simon Edström
2013-02-06
首先,点击函数可以像这样完成,而不必使用 .find():
$('#menu a').click(function() { }
.each() 循环可以像这样完成:
$('#menu a').each(function () {
var aId = $(this).attr('id');
var contentId = content + aId;
$(contentId).append('<p>Hej</p>');
})
James Donnelly
2013-02-06