大佬教程收集整理的这篇文章主要介绍了使用JQuery很好地将DOM元素添加到DOM,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,我在DOM中添加元素,并在双引号内附加html,这可能会变得非常混乱并且很难阅读,特别是如果你内部有变量,在React中你会使用干净的JSX,是否有在普通的@L_801_0@脚本或JSX之类的东西中使用JSX的方法?
>模板文字
> JSX
模板文字
在现代JavaScript中,您可以使用模板文字而不是字符串文字,它们可以包含带有JavaScript表达式的占位符:
let counter = 0;
$(`{Counter++}{Counter++}{Counter++}{Counter++}.body);
肯定还有一些尴尬,但它比字符串文字更好.
有关模板文字的更多信息on MDN.
JSX
JSX不仅限于React.它有own specification和多个实现,例如jsx-transform
.
例如,这是一个简单的Node.js包装器,它使用它来转换文件:
var jsx = require('jsx-transform');
console.log(jsx.fromFile("input.jsx",{
factory: 'be'
}));
如果input.jsx是:
let counter = 0;
let table =
{Counter++}{Counter++}{Counter++}{Counter++}.body);
(注意那是class =“main”,而不是className =“main”.使用className代替React是为了避免自从ES5于2009年问世以来一直没有问题的问题.)
输出将是:
let counter = 0;
let table =
be('table',{Class: "main"},[
be('tbody',null,[
be('tr',[
be('td',["Cell ",counter++]),be('td',counter++])
]),be('tr',counter++])
])
])
]);
table.appendTo(document.body);
注意JSX表达式是如何转换为对工厂函数的调用的(在该示例中; React的工厂函数是React.createElement).您所要做的就是提供be函数并将变换器集成到您的构建链中(jsx-transform预先烘焙,能够插入Browserify).
function be(tagName,attributes,children) {
const result = $("<" + tagName + "/>");
if (attributes) {
result.attr(attributes);
}
if (children) {
if (Array.isArray(children)) {
for (const child of children) {
result.append(child);
}
} else {
result.append(child);
}
}
return result;
}
使用转换结果的be函数的实例:
let counter = 0;
let table =
be('table',counter++])
])
])
]);
table.appendTo(document.body);
function be(tagName,children) {
const result = $("<" + tagName + "/>");
if (attributes) {
result.attr(attributes);
}
if (children) {
if (Array.isArray(children)) {
for (const child of children) {
result.append(child);
}
} else {
result.append(child);
}
}
return result;
}
令人惊讶的是,它真的就是这么简单.
大佬总结
以上是大佬教程为你收集整理的使用JQuery很好地将DOM元素添加到DOM全部内容,希望文章能够帮你解决使用JQuery很好地将DOM元素添加到DOM所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
猜你在找的HTML相关文章
-
html – 在不同的事件中CSS多重转换为相同的元素
2022-04-15
-
使用python绘制图形并使用HTML显示它
2019-10-08
-
使用JQuery很好地将DOM元素添加到DOM
2019-10-08
-
将值重新加载到数组中比javascript中的最后一个位置发生一个位置
2019-10-08
-
jquery – 在SELECT框中更改文本颜色
2019-10-08
-
Html表,使一行更大
2019-10-08
-
javascript – 使用Puppeteer,Mocha和Chai在html标记属性中断言文本的存在
2019-10-08
-
javascript – React:设置div的scrollTop属性不起作用
2019-10-08
-
html – 创建水平居中的背景图像渐变三角形
2019-10-08
-
javascript – 如何在Plyr JS的视频播放器中添加下载按钮?
2019-10-08