首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取"each“中的内部标记元素

获取"each“中的内部标记元素
EN

Stack Overflow用户
提问于 2011-01-31 16:55:24
回答 2查看 3.2K关注 0票数 1

我一直在摆弄不同的表单和表,现在我需要一些东西来从表tr和td字段中获取数据,在每个获取的项上运行if语句,并在表单中输出文本,这取决于在td字段中找到的内容。

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

代码语言:javascript
复制
var test;
$('tbody tr').each(function(index) {
test = $(this+'.td.td-0');
$('fieldset.csc-mailform').after($('td.td-0'));
});

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

代码语言:javascript
复制
<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对象上工作,有什么方法可以解决这个问题吗?

代码语言:javascript
复制
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'));
});

//edit2Ugh,我对jQuery对象运行if语句,当然不起作用。我得到了它的工作与这个,看起来相当糟糕,但它似乎工作:

代码语言:javascript
复制
$('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/>');
}
);

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-31 22:59:32

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

代码语言:javascript
复制
$('tr').each(function () {
  var val = $('td:first', this).text();
  ..
}
票数 2
EN

Stack Overflow用户

发布于 2011-01-31 17:04:42

下面这样的代码就可以了:

代码语言:javascript
复制
$('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;
       }
   }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4849031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档