【问题标题】:Getting inner tag element inside an "each"在“每个”中获取内部标签元素
【发布时间】:2011-06-18 10:54:26
【问题描述】:

我一直在处理不同的表格和表格,现在我需要一些东西,它可以从表格 tr 和 td 字段中获取数据,对每个获取的项目运行 if 语句,并在表格中输出文本,具体取决于在td 字段。

所以现在我有这样的东西,它根本没有做任何有用的事情,现在只是将 td-01 类值输出到表单中:

var test;
$('tbody tr').each(function(index) {
test = $(this+'.td.td-0');
$('fieldset.csc-mailform').after($('td.td-0'));
});

我的表结构看起来像这样:

<table class="contenttable contenttable-3 tabel">
    <tr class="tr-even tr-0">
            <td class="td-0">01</td>
            <td class="td-1">Valik 1</td>
            <td class="td-last td-2">150€</td>
    </tr>
    <tr class="tr-odd tr-1">
            <td class="td-0">01</td>
            <td class="td-1">Valik 2</td>
            <td class="td-last td-2">50€</td>
    </tr>
    <tr class="tr-even tr-2">
            <td class="td-0">01</td>
            <td class="td-1">Valik 3</td>
            <td class="td-last td-2">170€</td>
    </tr>
    <tr class="tr-odd tr-3">
            <td class="td-0">01</td>
            <td class="td-1">Valik 4</td>
            <td class="td-last td-2">88€</td>
    </tr>
</table>

现在它只找到 tr 标签并输出所有标签。我需要它来拆分 tr 标签,在 td-0 上运行 if 条件以确定它是否需要单选按钮/文本输入/复选框等,然后查看 td-1 包含的内容并创建该字段名称,然后是 td-2例如价格。所有这些都应该以一种形式结束。 如您所见,我坚持使用 jQuery,但我认为它应该是可行的。

编辑: 在搞砸了一点之后我得到了类似的东西,但是我的 if 语句似乎不适用于 jQuery 对象,有什么办法可以解决这个问题?

var check1;
$('tbody tr').each(function(index) {
//test = $(this+'.td.td-0');
check1 = $('td.td-0');
alert(check1);
if(check1=='01'){
content_type="checkbox";
}else if(check1=='02'){
content_type="text";
}else{
content_type="none";
}
$('fieldset.csc-mailform').after(content_type);

//$('fieldset.csc-mailform').after($('td.td-0'));
});

//编辑2 呃,我正在对 jQuery 对象运行 if 语句,当然它没有用。 我得到它的工作,看起来很讨厌,但它似乎工作:

$('tr').each(function () { var val = $(this).children('td:first').text(); 
//$check1 = $('td.td-0');
if(val=='01'){
content_type="checkbox";
}else if(val=='02'){
content_type="text";
}else{
content_type="none";
}
$('fieldset.csc-mailform').after(content_type + '<br/>');
}
);

现在,我需要弄清楚如何根据这些创建输入字段。

【问题讨论】:

    标签: javascript jquery loops html-table each


    【解决方案1】:

    你可以通过使用 jQuery 选择器上下文让它更简洁一些,例如:

    $('tr').each(function () {
      var val = $('td:first', this).text();
      ..
    }
    

    【讨论】:

      【解决方案2】:

      这样就可以了:

      $('table tr').each(function() {
         $tds = $(this).children();
         for(var i=0;i<$tds.length;i++){
             $td = $tds[i];
             if($td.hasClass('td-0'){
                //do your thing by getting next TD or something else
                break;
             }
         }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-06
        • 1970-01-01
        • 2018-09-29
        相关资源
        最近更新 更多