根据所选id删除字符串中的特定文本行
Remove particular row of text in string based on id selected
我正在尝试删除字符串中的某个表行。例如,我将下面的代码放在一个字符串中。让我们调用存储temp
下字符串的变量
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
我有几个按钮的id与上面的行数相对应。如果我点击第一个按钮,它有一个相应的id为1,第二个按钮有2,等等
我得到的是,如果我点击这些删除按钮,我想根据我点击的id(按钮(删除上面对应的表行。
这是我迄今为止的代码。
$(".delete").click(function() {
var id = $(this).attr("id");
var temp = $("#detailsBox").val();
for (i=1; i!=id; i++) {
if (i=1) {
}
}
$(this).closest('tr').remove();
}
如何根据我单击的id(按钮(删除变量temp
中该字符串的一部分?如果我选择按钮1,我想删除表的第一行。按钮二、第二个表行等。我知道我需要替换字符串,但如何删除字符串中的某些实例?
解析HTML是危险的。因此,我建议您将字符串转换为DOM,然后在DOM树上进行操作。
以下是jQuery的一个简单解决方案:
var row = 1; // the row I want to remove
var temp = $("#myTextarea").value(); // get HTML
var table = $("<tbody>" + temp + "<tbody>"); // creates DOM nodes from HTML
table.find("tr").eq(row - 1).remove();
var tempWithoutRow = table[0].innerHTML;
试试JSFiddle。
您正在尝试使用jQuery,就好像这些元素在DOM中一样。。。但事实并非如此。它们只是一根绳子。所以你可以这样做:
var arr = yourString.split("<tr>");
$(".delete").click(function() {
var id = $(this).attr("id");
arr = arr.splice(parceInt(id, 10)-1, 1);
}
现在你有了里面有正确TR的数组。您所要做的就是再次将它们转换为字符串:
var htmlString;
for (var i=0; i<arr.length; i++) {
htmlString += arr[i];
}
更新jQuery方式你也可以用jQuery来实现。看看小提琴
http://jsfiddle.net/J6HJ2/2/
您可以选择所有表行,然后向下筛选到您想要的行:
$(".delete").click(function() {
var id = $(this).attr("id");
$("#my-table").find("tr").eq(id + 1).remove();//since your IDs are not zero-indexed and .eq() is
});
.eq()
的文档:http://api.jquery.com/eq
$(".delete").click(function() {
var id = $(this).attr("id");
var temp = $("#detailsBox").val();
for (i=1; i!=id; i++) {
if (i=1) {
}
}
$(this).parentNode.remove();
}
如果.delete在td 上
否则,如果你有<td><button class="delete"></button></td>
那么它就是$(this).parentNode.parentNode.remove();
如果按钮位于<tr>
内部,则无需id
简单的解决方案是为行提供有意义的ID,并使用以下代码:
$(".delete").click(function() {
$('#row' + $(this).id).remove();
}
如果你真的想计算字符串中的无名TR元素,你可以用split("<tr>")
将它们分割成一个数组
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 数组中的随机文本字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- javascript高亮文本字符串
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 函数输入上未终止的文本字符串
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 如何使用javascript验证文本字符串
- 将部分文本字符串转换为html
- 如何使用javascript在单个正则表达式中递归替换文本字符串中重复的逗号
- 使用PowerShell在JavaScript网页上搜索文本字符串
- 使用jquery感知文本字符串中的时间范围
- 匹配最后一个点之后的文本字符串
- 从段落中删除某些文本字符串
- 如何使用 javascript 将输入到文本框中的变量插入到文本字符串中
- 当页面上存在特定文本字符串时发送 Google Analytics(分析)事件
- JSON 处理 - 向 JSP 发送 JSON 文本字符串,如何在 JSP 中处理
- 如何使用 JavaScript(但不是标签或属性)替换字符串中所有匹配的纯文本字符串