Javascript innerHtml和文本框和标签问题的价值

时间:2013-06-29 06:56:03

标签: 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");
if(txtone)
var tone =  txtone.value;
if(lblone)
var lone = lblone.innerHTML;

但在我的情况下,我有大约100到200个文本框和标签,基于某些条件呈现。因此,在这种情况下,我不认为给出解决方案将是最好的。

是否有任何简单的方法可以解决我的问题,例如原型值或innerHtml。

(这是一个aspx网站页面)

1 个答案:

答案 0 :(得分:1)

更新答案

检查演示http://jsfiddle.net/tD6eC/1/

您可以不使用类或ID。

HTML

<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>

JQUERY

$(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 />');
        }
    });
});