我有以下javascript代码。
var txtone = document.getElementByID("txtone");
var lblone = document.getElementByID("lblone");
var tone = txtone.value;
var lone = lblone.innerHTML;
现在问题是我的页面中没有txtone或lblone,所以在这种情况下我的代码的最后两行会出错。
解决方法是检查它们是否存在可能就像这段代码一样。
var txtone = document.getElementByID("txtone");
var lblone = document.getElementByID("lblone");
if(txtone)
var tone = txtone.value;
if(lblone)
var lone = lblone.innerHTML;
但在我的情况下,我有大约100到200个文本框和标签,基于某些条件呈现。因此,在这种情况下,我不认为给出解决方案将是最好的。
是否有任何简单的方法可以解决我的问题,例如原型值或innerHtml。
(这是一个aspx网站页面)
答案 0 :(得分:1)
检查演示http://jsfiddle.net/tD6eC/1/
您可以不使用类或ID。
<label id="">label 1</label><input id="" value="1" /><br />
<label id="">label 2</label><input id="" value="2" /><br />
<label id="">label 3</label><input id="" value="3" /><br />
<label id="">label 4</label><input id="" value="4" /><br />
<label id="">label 5</label><input id="" value="5" /><br />
<div id="content"></div>
$(document).ready(function(){
var val, label;
$('label').each(function(){
val = $(this).html();
label = $(this).next('input').val();
if(val != 'undefined' && label != 'undefined'){
$('#content').append(val+' : '+label+'<br />');
}
});
});