0

我有下面的javascript代码。

var txtone = document.getElementByID("txtone");
var lblone = document.getElementByID("lblone");
var tone =  txtone.value;
var lone = lblone.innerHTML;

现在的问题是,在某些情况下,我的页面中没有 txtone 或 lbone,所以在这种情况下,我的代码的最后两行会出错。

解决方案是检查它们是否存在可能就像这段代码一样。

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网站页面)

4

1 回答 1

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>

查询

$(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 />');
        }
    });
});
于 2013-06-29T07:24:46.463 回答