草庐IT

dom-node

全部标签

javascript - 为 Node 和浏览器环境构建包

我开发了一个NodeNPM包,它主要是一个特定JSON的包装器(使用Node的http、https和querystring模块)应用程序接口(interface)。它是在Coffeescript中构建的,并使Node.js服务器能够与此API进行通信。Api主要是REST。现在我希望这个库也可用于浏览器。这意味着对http模块的调用需要替换为XMLHttpRequest(异步)。在我看来,我会为适配器制作一个包装器。对于Node环境,此适配器会将所有调用传递给http模块,对于浏览器环境,传递给XMLHttpRequest对象。有没有一种制作构建系统的好方法,以便npm包包含两个版本,

DOM 元素的 JavaScript 最佳实践命名约定

DOM元素的JavaScript命名约定是否有最佳实践或行业标准?举个例子:vartarzan=document.getElementById('foobar');要使DOM元素可以区分与另一种类型的var,最可接受的名称是什么?是不是应该……DOM_tarzanDOM泰山元素泰山....等等等等?我希望仅通过查看变量就能分辨出差异。例如,如果我看到:DOM_tarzan.remove();...我马上就知道“DOM_tarzan”是一个DOM元素,并且它使用标准的JavaScriptremove()方法。毫无疑问,“DOM_tarzan”是一个自定义对象,它具有用户定义的“remov

javascript - 为什么我们在使用 babel-loader 时要排除 node_modules?

网站上问的大多数问题是如何排除node_modules但相反,我想知道为什么我们要排除node_modules?module.exports={mode:'production',entry:'./src/index.js',output:{path:path.join(__dirname,'dist'),filename:'app.bundle.js'},module:{rules:[{test:/\.js$/,loader:'babel-loader',exclude:/node_modules/,options:{presets:['@babel/preset-env']}}]}

javascript - 在就绪状态之前操作dom可以吗?

这通常是我如何管理渐进式增强,同时保持体验干净,但它有多安全?是否存在竞争条件的可能性并且这不起作用?想象一下简单的抽象场景,如果你有javascript支持,你想显示不同的东西。这通常是我最终会做的:originalvart=document.getElementById('test');t.innerHTML='changed';许多人可能会声称您应该使用一个框架并等待一个domready事件,然后在那里进行更改。但是,在文档和css结束之前已经呈现“测试”元素的地方存在明显的延迟准备就绪并且domready触发器..因此导致“原始”的明显闪烁。此代码是否容易导致竞争条件失败?或者

javascript - javascript 可以在每个 Dom 元素上监听 "onDomChange"吗?

我的问题有点奇怪,但是我可以为任何DOM元素(div)添加事件吗,比如'onHtmlChange',在该div更改其内容时收到通知? 最佳答案 查看DOMNodeInserted和DOMNodeRemoved.BenNadel最近发表了以下博文:DetectingWhenDOMElementsHaveBeenRemovedWithjQuery 关于javascript-javascript可以在每个Dom元素上监听"onDomChange"吗?,我们在StackOverflow上找到一个

javascript - jQuery 追加 DOM

jQuery.append()的所有示例似乎都采用html字符串并将其附加到容器中。我有一个稍微不同的用例。我的服务器返回一个包含要显示的HTML文本的XML,例如:ThisisaneventThisisthebodyoftheevent我有一个需要显示此内容的div。我的JS目前做了以下事情:在$.ajax()成功处理程序中将XML数据加载到jQuery中:varjData=$(数据);找到内容标签并尝试将其子标签添加到应该显示事件的div中:varcontents=jData.find("contents");if(contents!=null){$(contents).child

javascript - jQuery:强制显示修改后的dom

我遇到了一个问题,试图在我的页面上有一个“加载微调器”,它在对表格进行排序时运行,特别是对于速度较慢的客户端,因为可能需要长达10秒的时间来对页面进行排序。我可以看到DOM使用微调器代码进行了修改,但它不显示。我希望我可以做些什么来在排序发生之前强制显示微调器,当然在排序完成后停止它。我的排序是基于'sorttable.js'我对其进行了修改以处理表第一列(其中包含名称)的二次排序。我的微调器使用'spin.js'.我对这个jQuery东西还是个新手,这个可排序代码相当复杂。我突出显示下面的部分,但我的完整修改后的可排序代码(目前)可以在'sorttable-TESTING-ONLY.

javascript - jQuery 是否会从已销毁的 DOM 内容中删除事件监听器?

对于Ajax应用程序,我反复使用jQuery的html()方法来更新DOM容器(覆盖HTML内容,然后将元素绑定(bind)到事件监听器)。jQuery是否正确删除了附加到已销毁内容的事件监听器,或者是否存在内存泄漏的风险?(这里已经有一些相关的问题,但我找不到答案)。 最佳答案 是的,当您使用jQuery方法删除或替换内容时,所有事件和数据都会被清除。这是使用内部cleanData方法完成的。https://github.com/jquery/jquery/blob/1.9-stable/src/manipulation.js#L

javascript - 如何JSON.stringify一个dom元素?

如题,如何对dom元素进行JSON.stringify,并将json变回dom元素。谁知道怎么做,谢谢。Hereisthecode:varcontainer=document.querySelectorAll('.container')varjson=JSON.stringify(container){"0":{},"1":{},"2":{},"3":{}}"//resultexpectedresult:{"tagname":"div","class":"container","value":"test","childelement":[...]} 最佳答案

javascript - 如何使用 Fetch API 下载和保存文件? ( Node .js)

我有一个可能很大(100+Mb)文件的url,如何使用fetch将它保存在本地目录中?我环顾四周,但似乎没有很多关于如何执行此操作的资源/教程。谢谢! 最佳答案 使用FetchAPI,您可以编写一个可以从URL下载的函数,如下所示:constdownloadFile=(async(url,path)=>{constres=awaitfetch(url);constfileStream=fs.createWriteStream(path);awaitnewPromise((resolve,reject)=>{res.body.pipe