使用JS动态添加和减少指定行
完整代码
以下代码经过Firefox 测试通过
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="tbody">
<tr>
<td><input type="text" name="text1" /></td>
<td><input type="text" name="text2" /></td>
<td><select name="select">
<option>item1</option>
<option>item2</option>
<option>item3</option>
<option>item4</option>
<option>item5</option>
</select></td>
<td><input type="button" value="Remove" onclick="removeRow(this.parentNode.parentNode)"></td>
</tr></tbody>
</table>
<input name="button" type="button" value="Add row" onclick="addRow()">
<script>
function addRow()
{
var root = document.getElementById("tbody");
var allRows = root.getElementsByTagName('tr');
var cRow = allRows[0].cloneNode(true)
root.appendChild(cRow);
}
function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr')
if(allRows.length>1)
root.removeChild(r);
else
alert("only one row left, you not need to remove it.");
}
</script>
</body>
</html>
分享到:
相关推荐
Python的自动化测试工具Splinter是一个开源的框架,专门用于使用Python进行Web应用的测试。它允许开发者模拟浏览器的行为,例如...其丰富的功能和简洁的接口设计,使得测试代码编写更加直观,降低了测试维护的难度。
2. **初始化动画**:通过JavaScript调用Motion.js提供的方法,指定动画的目标元素、持续时间、动画类型等参数。 3. **控制动画**:利用提供的API控制动画的播放、暂停、重置等行为。 4. **自定义动画**:根据需求...
9. **测试和调试**:在实际项目中,使用`jquery.media.js`预览PDF文件时,需要进行充分的测试,确保在各种浏览器和设备上都能正常工作。开发者可以利用Chrome开发者工具、Firefox开发者版等工具进行调试。 总结,`...
3. **资源优化**:考虑到移动端的性能和网络条件,可能需要对 PDF.js 进行裁剪和优化,减少不必要的功能和资源,提升加载速度。 4. **兼容性测试**:由于移动设备的浏览器版本和性能差异,需要进行广泛的兼容性测试...
- **启动浏览器**: 使用`driver = new FirefoxDriver()`(Java)或`driver = webdriver.Firefox()`(Python)启动Firefox浏览器。 - **导航**: `driver.get("http://www.example.com")` 访问指定URL。 - **元素...
- **常用库和框架**:为了简化JavaScript的开发过程,开发者通常会使用一些流行的库或框架,如jQuery、React、Vue等,这些工具能够大大减少代码量,提高开发效率。 - **示例功能实现**:例如,可以通过添加一段简单...
1. **创建WebDriver实例**:通过`webdriver.Chrome()`或`webdriver.Firefox()`等方法启动浏览器。 2. **导航到URL**:使用`get(url)`方法加载指定的网页。 3. **元素交互**:使用`find_element_by_*`方法(如`find_...
10. **兼容性测试**:确保幻灯片相册在不同浏览器和设备上表现一致,兼容主流的IE、Chrome、Firefox、Safari和Edge。 在实践中,我们可以通过不断调整参数、修改样式和优化代码,打造出独具特色的幻灯片相册。记得...
- **Firefox**: 使用 Gecko 渲染引擎。 - **Safari**: 使用 WebKit 渲染引擎。 - **Internet Explorer (IE)**: 使用 Trident 渲染引擎。 - **Edge (旧版)**: 使用 EdgeHTML 渲染引擎。 - **Opera**: 早期版本使用 ...
- **使用外链CSS和JS脚本**:通过链接外部的CSS和JavaScript文件来管理样式和交互,这可以减少页面的加载时间,并且便于维护。 - **结构行为表现的分离**:HTML负责内容结构,CSS负责样式,JavaScript负责行为。这种...
4. **兼容性**:`jPrintArea`支持大部分现代浏览器,包括Chrome、Firefox、Safari和IE8及以上版本。 5. **事件监听**:可以监听打印前、打印后等事件,进行自定义操作。 ## 四、示例代码 以下是一个简单的例子,...
- **稳定性**:经过大量的测试和优化,UdEdit在各种浏览器环境下都能保持稳定运行,减少因兼容性问题导致的故障。 - **灵活性**:通过内置的API接口,开发者可以自由定制编辑器的样式、工具栏,甚至添加自定义功能...
- **Gecko**: Firefox的排版引擎,支持最新的网络技术和标准。 - **WebKit**: 开源引擎,最初由Apple开发,现在广泛应用于多个浏览器。 - **Trident**: IE的主要渲染引擎,支持多种版本。 - **EdgeHTML**: Microsoft...
6. **兼容性**:作为JavaScript库,DScripted应该兼容主流的浏览器和JavaScript环境,包括但不限于Chrome、Firefox、Safari、Edge以及Node.js。 7. **社区与文档**:开源项目通常有活跃的社区和详尽的文档,...
10. **调试与测试**:开发者通常使用Chrome DevTools或Firefox Developer Tools进行JavaScript的调试,而Mocha、Jest等工具则用于编写和执行单元测试。 11. **性能优化**:理解V8引擎的工作原理,使用适当的数据...
- **代码简洁**:div+css 更加清晰,易于维护。 - **表现与内容分离**:CSS 负责样式,HTML 负责结构。 - **易于优化**:有利于搜索引擎抓取。 - **可复用性强**:样式可以应用于多个页面。 - **响应式设计**:适应...
- **在 Firefox 中**,使用 `selectionStart` 和 `selectionEnd` 属性来获取当前光标前后的字符索引,然后通过字符串拼接的方式在指定位置插入文字。如果文本框当前没有选中任何文本,则通过 `substring` 方法将整个...
12、修改所有标签实现动态XML数据存储,然后再读取,减少服务器运行压力,提高数据访问速度; 13、修改评论系统,评论页面整体修改,增加评论页面分页功能,管理员可回复评论功能; 14、修改留言板系统,新增会员...
12、修改所有标签实现动态XML数据存储,然后再读取,减少服务器运行压力,提高数据访问速度; 13、修改评论系统,评论页面整体修改,增加评论页面分页功能,管理员可回复评论功能; 14、修改留言板系统,新增会员...
考虑到不同浏览器和设备的兼容性,"jquery-image-gallery"应该经过充分的测试,确保在主流浏览器(如Chrome、Firefox、Safari、Edge等)以及移动设备上都能正常工作。同时,为了提高性能,可能需要进行一些优化,如...