使用 jQuery 将一个字段的内容复制到另一个字段

Copy contents of one field to another using jQuery

本文关键字:字段 复制 另一个 一个 jQuery 使用      更新时间:2023-09-26

我有一个表结构,如下所示:

<table id='myTable'>
    <thead>
        <tr>
              <th class='name'>Name</th>
              <th class='nick-name'>Nick Name</th>
              <th class='age'>Age</th>
        </tr>
    </thead>
    <tbody>
        <tr>
              <td class='name'>Ilona</td>
              <td class='nick-name'>Baby Doll</td>
              <td class='age'>21</td>
        </tr>
        <tr>
              <td class='name'>Sieraa</td>
              <td class='nick-name'></td>
              <td class='age'>24</td>
        </tr>
        <tr>
              <td class='name'>Britney</td>
              <td class='nick-name'>Blondie</td>
              <td class='age'>27</td>
        </tr>
        <tr>
              <td class='name'>Kate</td>
              <td class='nick-name'>Night Queen</td>
              <td class='age'>19</td>
        </tr>
        <tr>
              <td class='name'>Dani</td>
              <td class='nick-name'></td>
              <td class='age'>23</td>
        </tr>
        <tr>
              <td class='name'>Aliee</td>
              <td class='nick-name'></td>
              <td class='age'>26</td>
        </tr>
        <tr>
              <td class='name'>Brandi</td>
              <td class='nick-name'></td>
              <td class='age'>27</td>
        </tr>
    </tbody>
</table>
由于某些昵称字段为空,

如果它们为空,我想在昵称中显示名称的值。

例如:在表体的第二行中,昵称字段为空,名称字段包含Sierra。因此,我想在昵称字段中显示Sierra,而不是将其留空。

如何使用jQueryJavaScript来实现这一点

jQuery:

这仅在 .name 始终是 .nick-name 的确切前一个元素时才有效,就像在您的结构中一样

$('.nick-name').each(function () {
 if ($(this).text().length === 0) {
   $(this).text($(this).prev().text());
 }
});

当 .name 和 .nick-name 具有相同的父级时,这有效

$('.nick-name').each(function () {
 if ($(this).text().length === 0) {
   var name = $(this).parent().find('.name').text();
   $(this).text(name);
 }
});

你应该阅读 DOM Traversing with jQuery,你可以做很多事情来获取你的元素。

JSFIDDLE: http://jsfiddle.net/sX4yj/

这应该会有所帮助

$('#myTable tr').each(function(){
        var nickname = $(this).find('.nick-name').html();
        alert(nickname);
});

参考:如何使用jQuery获取表单元格值?