js中使用append应注意自动补全问题

更新日期: 2019-09-11阅读: 2.2k标签: 问题

日常中会用到元素的append方法去扩展子标签。

但今天的一个任务中遇到一个发现它的一个特点,一般的标签是如<td></td>、<tr></tr>、<div></div>以成对出现,如果缺少一个都会出错,而append为了保证页面代码的准确性,会对标签进行自动补全,如

document.getElementsById('top').append('<tr>');

append的参数字符串中只包含一个<tr>而没有结束标签</tr>,在页面中会自动在<tr>后面补全</tr>。

这似乎是一个挺人性化的操作,但对于某些时候就是个灾难!

看如下代码:

top=document.getElementsById('top');
top.append('<tr>');
top.append('<td>内容'</td>);
top.append('</tr>');

代码明显意图是扩展一个<tr><td>内容</td></tr>的内容,但实际结果却是这样:

<tr></tr><td>内容</td><tr></tr>

完全不是想要的结果。。。。。。

所以在凡事都有两面性,而我恰好碰到了这个问题,仅此和大家分享


链接: https://www.fly63.com/article/detial/5856

解决mac上每次升级nodejs都要重新安装扩展包的问题

以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装的nodejs扩展包就不起作用了,还需要重新安装一遍。再加上一些扩展包存储网站被墙的问题,这个过程真是令人痛不欲生

.Net Core IFormFile 始终为空的问题

前获取上传文件都是使用Request.Form.Files获取,直到这次改成定义形参 IFormFile时才遇到这个问题。方案一:去除[ApiController]这个Attribute,方案二:在[FromForm]里添加Name属性

点击form 表单中的button导致页面刷新问题

做点击按钮切换背景样式与内容的时候每次都刷新页面 ,发现button写在了form 标签当中,将input或者button的type属性改为button,点击按钮页面就不会自动重新加载了。

解决ios端点击出现闪烁或黑色背景的问题

最近开发一个简单的H5页面,在IOS端测试的时候发现,点击按钮会闪动,出现一个黑色的背景一闪而过,影响用户体验。在ios端,safari浏览器上触发click事件有300ms的延迟相应

前端开发中遇到的一些问题

页面两个标签(非block样式)之间有一个小margin,样式怎么改都去不掉 ;app上点击有背景;手机端input边框阴影;chrome模拟器里点击元素错位;git push 报错RPC failed;

12个HTML和CSS必须知道的重点难点问题

这12个问题,基本上就是HTML和CSS基础中的重点难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视的,浮动也是一个大坑,有很多细节

在ios端点击按钮闪烁解决方法

在ios端,safari浏览器上触发click事件有300ms的延迟响应,为touch添加的样式会和click冲突而出现闪烁问题,在safari中触摸事件的相应顺序如下:

Js中的返回值问题

如果函数没有返回值(没有return语句),那么就会返回构造函数的实例(p1);如果函数返回了一个基本数据类型的值,那么本次构造函数的返回值是该实例( p1)

如何问一个有效的问题

提问前最好自己过一遍,看有哪里描述不清晰的,哪里表达不通顺,以及是否可以通过现有的这套描述可以让对方很清晰的知道问题所在。 问题:XXX 版本的 XXX 接口调用返回的数据不符合预期。

Node中url.parse(url, true).query:[Object: null prototype]问题

在node v13.5.0中通过url模块解析get请求参数的时候,遇到query: [Object: null prototype],如果我们在node中console.log一个null prototype,就会出现[Object: null prototype]

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!