我是一個完全新的JavaScript/jQuery和我創建了一個名爲mapMTK
和keyAndDatatye
兩個對象爲如下:無法讀取的未定義的屬性「長度」,在點擊事件
HTML
<div class="control-group">
<label class="control-label" for="templ">Module Template Name</label>
<div class="controls">
<select id="formModuleName" name="DSname" class="input-large">
<option>TitleImageModule</option>
<option>SearchBoxModule</option>
<option>CategoryLinksModule</option>
<option>BannerSlidesModule</option>
<option>StoreNavigationModule</option>
</select>
</div>
</div>
<button id="clickme">click me</button>
的Javascript
function keyAndDatatype(key, datatype) {
this.key = key;
this.datatype = datatype;
}
var mapMTK = {};
mapMTK["TitleImageModule"] = [
new keyAndDatatype("title", "ImageObj")
];
mapMTK["SearchBoxModule"] = [
new keyAndDatatype("searchBox", "LinkObj")
];
mapMTK["CategoryLinksModule"] = [
new keyAndDatatype("subStores", "LinkObj"),
new keyAndDatatype("title", "TextObj")
];
mapMTK["StoreNavigationModule"] = [
new keyAndDatatype("anchorTags", "ImageLinkObj"),
new keyAndDatatype("titleImage", "ImageObj"),
new keyAndDatatype("title", "TextObj")
];
var inputModuleName;
$('#formModuleName').change(function() {
inputModuleName = this.value;
});
$('#clickme').click(function() {
alert(mapMTK[inputModuleName].length);
});
我使用的mapMTK[inputModuleName].length
有一個jQuery click
事件它給了我:
Uncaught TypeError: Cannot read property 'length' of undefined
雖然在Javascript中使用相同的mapMTK[inputModuleName].length
工作正常。
<missing example>
我如何在我的jQuery代碼中使用它?
1.如果JS告訴你的東西是不確定的 - 它是。沒有理由不信任JS 2. JS對象沒有「.length」屬性, – zerkms
那麼,輸入定義在哪裏?事實上,這個'jQuery'代碼在哪裏呢? –
回到基本的JS教程,我想說,所有的最好的意圖。 – kapa