Jquery 比较两个表的列值并将下一列内容复制到第二个表

Jquery 比较两个表的列值并将下一列内容复制到第二个表,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在比较两个表的第一列。如果存在“查找匹配项”,则将文本从第一个表的相邻单元格复制到第二个表。我能够比较字符串并获得值,但发现很难在第二个表中打印它。我在变量“replaceText”中得到了这个值,但是如何在第二个表中打印它呢??请帮忙。。。示例代码如下所示 <script type="text/javascript"> jQuery.noConflict(); jQuery(document).ready(function(){ jQuery('.it

我正在比较两个表的第一列。如果存在“查找匹配项”,则将文本从第一个表的相邻单元格复制到第二个表。我能够比较字符串并获得值,但发现很难在第二个表中打印它。我在变量“replaceText”中得到了这个值,但是如何在第二个表中打印它呢??请帮忙。。。示例代码如下所示

<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function(){

    jQuery('.itemname').each(function(){
    var itemName = jQuery(this).text();

        jQuery('.comparerow').each(function() {
        var compareRow = jQuery(this).text();

            if (itemName == compareRow) {
            var replaceText = jQuery(this).next('td').text();
            alert(replaceText);
            }

        });
    }); 
    });
</script>

jQuery.noConflict();
jQuery(文档).ready(函数(){
jQuery('.itemname').each(函数(){
var itemName=jQuery(this).text();
jQuery('.comparerow')。每个(函数(){
var compareRow=jQuery(this).text();
if(itemName==compareRow){
var replaceText=jQuery(this.next('td').text();
警报(替换文本);
}
});
}); 
});
HTML如下

<table width="100%"><thead>
<tr>
  <th align="left" >Name</th><th>Description</th></tr></thead>
<tbody>

<tr>
  <td class="comparerow">IX0001</td>
  <td class="desc">Desc 1 </td>
</tr>


<tr>
  <td class="comparerow">IX0002</td>
  <td class="desc" >Desc 2 </td>
</tr>

<tr>
  <td class="comparerow">IX0003</td>
  <td class="desc">Desc 3 </td>
</tr>
<tr>
  <td class="comparerow">IX0004</td>
  <td class="desc">Desc 4 </td>
</tr>
</tbody>
</table>

<br />

<table width="100%">
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr >
<td class="itemname">IX0001</td><td></td>
</tr>
<tr>
<td class="itemname">IX0002</td><td></td>
</tr>
<tr>
<td class="itemname">IX0003</td><td></td>
</tr>
</table>

姓名描述
IX0001
描述1
IX0002
描述2
IX0003
描述3
IX0004
描述4

姓名描述 IX0001 IX0002 IX0003
您可以使用以下方法来简化整个过程:

jQuery.noConflict();
jQuery(document).ready(function() {
  jQuery('.itemname').each(function() {
    var itemName = jQuery(this).text();
    var match = jQuery('.comparerow:contains("' + itemName + '")');
    if(match.length)
      jQuery(this).next('td').text(match.next('td').text());
  }); 
});

这将遍历每个项目,查找匹配项。如果我们找到了匹配项(
.legnth
为>0),则将下一个
文本设置为匹配项的下一个
文本。

@Nick感谢您的回答。。行号中出现“丢失”错误5@Sullan-我没有看到这个,仔细检查可能包含的任何代码?另外,你能看到实际的代码行吗(有时数字不准确)?@Nick Craver现在可以工作了,但是打印的文本是“IX001”,而不是下一列的值“Desc 1”…@Sullan-我在第一次回答问题时漏掉了下一行,确保你有
match.next('td').text()
而不是
match.text()
@Nick Craver现在我面临一个不同逻辑的问题。假设我在第一个表中有两次值“IX0002”,那么第二列中的描述表将有两次重复的值,如“Desc 2Desc 2”。。如何解决此问题??