用于文本框和标签问题的Javascript innerHtml和值
我有下面的javascript代码用于文本框和标签问题的Javascript innerHtml和值,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有下面的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");
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网站页面)更新答案
检查演示
你可以使用没有类或ID之类的
HTML
标签1标签2
标签3
标签4
标签5
JQUERY
$(文档).ready(函数(){
var val,标签;
$('label')。每个(函数(){
val=$(this.html();
label=$(this.next('input').val();
if(val!=“未定义”&&label!=“未定义”){
$(“#内容”).append(val+”:“+label+”
);
}
});
});
确保您没有重复DOM的ID。因此,请创建一个e转换值或为空的函数。您可以使用var tone=txtone对其进行简化?txtone.value:未定义代码>,您也可以编写一个包装器函数来获取值感谢您的ans,但在所有情况下,我必须在访问文本框和标签的所有位置进行更改,我正试图避免它。就像我们在所有浏览器中使用trim()函数原型一样。如果那样的话,我就不必对所有的标签和文本框进行更改,只需一个函数,它对你的兴趣有很大的影响,但是我没有一个名为txtone的类,我有100到200个文本框和不同id的标签,然后再次检查我的更新答案,你可以不使用任何id或类,而且,只要您使用标签和输入(必须在标签后面),就无需再次修改代码。是的,这是可以做到的,但我必须更改我在许多地方使用的document.getElementById和许多函数调用的所有代码。我必须更改所有这些,因此我认为最好添加if条件,而不是执行这些操作。非常感谢您的关注。
<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 />');
}
});
});