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