一个页面有一个表,表中的行都具有id属性。
(从数字开始而不是字母在这里应该不会引起问题,因为CSS不必选择它)。
<tr id="0" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="4" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="2" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="1" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="3" class="whatever">
<td>content</td>
<td>content</td>
</tr>
我们有一个JS数组,它的值与tr元素(即“whatever”类的元素)的值完全一样多。
var arr=['0','1','2','3','4'];
如何使用jQuery或纯JS将所有tr id属性更改为arr数组的属性?期望的结果应该是:
<tr id="0" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="1" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="2" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="3" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="4" class="whatever">
<td>content</td>
<td>content</td>
</tr>
只是想说明一下:元素不必在页面上重新排列。顺序和所有内容都保持不变,但应该替换的只是id值。
我会做一个Foreach。但从那里我不知道如何继续下去,也找不到任何东西。
function ReplaceIDsFromArray(val, index) {
//do stuff
}
arr.forEach(ReplaceIDsFromArray);
或者首先必须选择所有tr或“whatever”元素并将其放入一个数组中,然后对其执行forEach?
您只需同步迭代标识符数组和表rows
列表即可:
null
function assignIdentifiers(rows, ids) {
// Use `Math.min` to avoid out of range addressing
let len = Math.min(ids.length, rows.length);
for (let i = 0; i < len; i++) {
rows[i].id = ids[i];
}
}
// demo
let rows = document.querySelectorAll("table .whatever");
assignIdentifiers(rows, [1, 2, 3, 4, 5]);
// Show result:
console.log(document.querySelector("table").innerHTML);
<table>
<tr id="0" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="4" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="2" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="1" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="3" class="whatever">
<td>content</td>
<td>content</td>
</tr>
</table>
您可以简单地使用querySelectorAll方法和一个foreach
将您的ID
替换为您拥有的ID
数字的数组
。
现场演示:
null
var arr = ['0', '1', '2', '3', '4'];
var getTds = document.querySelectorAll('.whatever') //get all tr's
//Loop over and replace
getTds.forEach(function(td, i) {
td.id = arr[i] //replace current id's
});
//New IDs
let newIds = document.querySelector("table").innerHTML
console.log(newIds) //shows HTML with new ID's
<table>
<tr id="0" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="4" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="2" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="1" class="whatever">
<td>content</td>
<td>content</td>
</tr>
<tr id="3" class="whatever">
<td>content</td>
<td>content</td>
</tr>
</table>
我想将表单域映射到数据库域。 我有两个数组。。 一个数组是数据,包含作为键的表单字段id和作为值的表单字段值。 我还有一个数组,打算用作地图。此数组的键与表单字段相同,值为数据库字段名。 我想做的是遍历数据数组,在数据键与映射键匹配的地方,给数据数组分配一个新的键,这个键就是映射数组的值。 我的问题是怎么做?我尝试了很多不同的方法,现在我完全迷失在其中。
问题内容: 有没有一种简单的方法可以将数组中的所有负值都替换为0? 我对如何使用NumPy数组有一个完整的了解。 例如 我要回去 给出: 这就是我遇到的问题-如何使用此数组修改原始数组。 问题答案: 你在那儿 尝试:
问题内容: 是否有一个内置的PHP函数用一个数组替换字符串中的多个值,该数组精确地指示要替换为什么? 例如: 结果将是:’bleh blerh bleh bleh blerh’。 问题答案: 您正在寻找。 //额外提示: 而且,如果您像示例中那样受困于一个关联数组,则可以像这样拆分它:
当的值为1时,我有这个Dask代码在Dask数据帧中设置3: 现在,我必须替换给定的50个条件的值,例如: 在一个Dask语句中(不必是)是否可以做到这一点?
我有一个从应用程序中提取的数据库(我没有创建它)。我需要提取数据以用于不同的应用程序。主表包含3个外键,每个外键链接到其他表。我想用其他表中的特定列值替换FK ID。主表如下所示: 数据: 状态、雇员和类型都是外键。它们链接到具有以下布局的表: 用户: 类型: 地位: 我希望主桌看起来像这样 我已经尝试了我在谷歌上找到的各种东西,但是我不能让它以我想要的方式出现。我来自PHP背景,但我在SQL方面
我需要一些帮助来替换HashMap中的值。HashMap包含每个键的多个值,这些值是从ArrayList中添加的。我想做的是替换键中的一个元素。例如,用户输入键1和索引2,这将是该键的值[1]=[A, B, C, D],索引2将是字母“C”,我想用“X”替换它,这样输出将是[1]=[A, B, X, D],这将在一个同时循环中。 输出: 1 张 AB 光盘 2 张 AB 光盘 3 张 AB 光盘
问题内容: 如何将值更改为和将值更改为? 当我使用和所有值都更改为最后一个数组值。例: 结果: 问题答案: 这应该为您工作: 输出: 检出此DEMO:http : //codepad.org/b0dB95X5
我真的不喜欢这样链接命令。有没有另一种方法在一个做?