我有这个代码:
<table>
<tbody>
<tr>
<td align="left">X</td>
<td>X1</td>
</tr>
<tr>
<td width="150" align="left">Y</td>
<td>Y1</td>
</tr>
<tr>
<td align="left">Status: </td>
<td colspan="4">
<select name="status" size="1">
<option selected="selected" value="2">one</option>
<option value="1">two</option>
</select>
</td>
</tr>
<tr>
<td width="150" align="left">Z</td>
<td>Z1</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
并希望使用Javascript删除此行:
<tr>
<td align="left">Status: </td>
<td colspan="4">
<select name="status" size="1">
<option selected="selected" value="2">one</option>
<option value="1">two</option>
</select>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
问题是我没有任何身份证或类别可供识别.有没有办法通过搜索"状态:"或名称="状态"使用javascript for Firefox(使用它为Greasemonkey)删除行?
我不能使用jQuery,我无法编辑代码来设置任何ID
最好的问候bernte
如果你能负担不起与IE7兼容,你可以这样做:
?var elements = document.querySelectorAll('td[align="left"]');
for (var i=0; i<elements.length; i++) {
var text = elements[i].textContent || elements[i].innerText;
if (text.trim()=='Status:') {
elements[i].parentNode.parentNode.removeChild(elements[i].parentNode);
}
}
Run Code Online (Sandbox Code Playgroud)
为了与IE7兼容,您可能必须迭代所有行和单元格,这不会真的慢,但不太清楚.
请注意,我使用trimIE8上不存在的内容.要在需要时使其在此浏览器上运行,您可以添加此常用修补程序(来自MDN):
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |