在以下示例中,显示了警报,但#消息为空.
If I 注释掉.insertAfter 行则 #message 会正确显示。
为什么 .insertAfter 在此示例中不起作用?
萤火虫径直跨过它。
javascript:
google.load("jquery", "1.3.2");
//run when page is loaded
google.setOnLoadCallback(function() {
$('.languageChooser select').bind('click', function() {
var numberOfItems = $('.languageChooser select option:selected').length;
$('#message').hide().html("You have selected " + numberOfItems + " " + smartPlural('language',numberOfItems) + ".").fadeIn('slow');
if(numberOfItems == 1) {
$('#message').insertAfter('<div>Use the CTRL and SHIFT keys to select multiple items.</div>');
alert('here');
}
});
function smartPlural(itemName, numberOfItems) {
if(numberOfItems == 1) {
return itemName;
} else {
return itemName + 's';
}
}
});
html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title>Text XHTML Page</title>
<link href="css/main.css" rel="stylesheet" type="text/css" media="all"/>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="javascript/main.js"></script>
</head>
<body>
<div class="languageChooser">
<div class="title">Please choose a language:</div>
<select size="4" multiple="multiple">
<option>C#</option>
<option>Ruby</option>
<option>PHP</option>
<option>VB.NET</option>
<option>JavaScript</option>
<option>Scala</option>
</select>
<div id="message"></div>
</div>
</body>
</html>
之后插入 http://docs.jquery.com/Manipulation/insertAfter仅适用于 DOM 上已存在的元素,请查看文档:
元素必须已经插入
到文档中(您不能插入
如果不在其中,则逐个元素
这一页)。
您可能正在寻找append http://docs.jquery.com/Manipulation/append or appendTo http://docs.jquery.com/Manipulation/appendTo?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)