我有一個頁面,它使用JavaScript將一些文本框添加到頁面,然後我們嘗試基於這些稍後做一些工作。我找不到一個動態創建的JavaScript對象的名稱(在jQuery中)
雖然我有很多麻煩,但我不能返回我用js保存的'name'值。
整頁來源(儘管是簡化版本)如下。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="Scripts/jquery-1.4.1-vsdoc.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//we use live because the inputs havent been created yet.
$('.myclass').live('blur', function() {
//debugger;
alert('textbox selected has ID '+ $(this).attr('id')); //this returns txtInput
alert('textbox selected has name '+ $(this).attr('name')); //this returns null (or an empty string).
});
AddInputTextBox("My Label: ", "txtInput", "mydiv", "MyName");
});
function AddInputTextBox(LabelValue, Id, divToAddTo, NameKey) {
//debugger;
var txtbox = document.createElement('input');
txtbox.setAttribute("type", "text");
txtbox.setAttribute("id", Id);
txtbox.setAttribute("name", NameKey);
txtbox.setAttribute("class", "myclass");
alert('Textbox created with name = ' + txtbox.name);
var foo = document.getElementById(divToAddTo);
foo.innerHTML += LabelValue;
foo.appendChild(txtbox);
}
</script>
</head>
<body>
<div id="mydiv">
<!-- placeholder -->
</div>
</body>
</html>
所以,您可以看到,document.ready運行並創建一個文本框。 當模糊火災(箱子失去焦點) - 我可以訪問ID,類,類型等,但我無法獲得'名稱'的值。
確定它是死的簡單,但有人可以告訴我爲什麼嗎?
在這裏爲我的作品:http://www.jsfiddle.net/nick_craver/K88fL /哪個瀏覽器給你的問題? – 2010-12-20 16:16:57
您是否遺漏了加載jQuery的部分? – 2010-12-20 16:17:01
也適用於我:http://www.jsfiddle.net/subhaze/hh8aK/ – subhaze 2010-12-20 16:19:15