记录使用javascript中的一些坑

javaScript+CSS+html【练习题】轮播图(踩坑记录:JS循环绑定事件) javaScript+CSS+html【练习题】轮播图题目代码实现效果展示踩坑记录:JS循环绑定事件 题目 完成京东官网首页中轮播图效果。点击进入:京东首页 具体要求: 要求每隔 3 秒图片会自动切换一张,以此类推按照给定图片数量轮番切换播放。 当鼠标移入时会自动暂停播放,鼠标移出则会继续。 如下图两边有两个左右方向的按钮,点击则会实现手动切换商品图片。 左下角会按照图片数量显示对应的灰色圆点,点击会显示对应的图片,并 圆点加亮显示。 代码实现 <!DOCTYPE html> <html 阅读详情

一、element.child和element.childNodes的区别

  • childNodes:返回一个即时的NodeList,表示元素的子节点列表,子节点可能会包含文本节点,注释节点等。
  • children:一个即时的HTMLCollection,子节点都是Element,IE9以下浏览器不支持。

我遇到的坑:

var childNodes = rootEle.children;
      childNodes.forEach(function(item){
        console.log(item);
      })

这段代码会报错:说childNodes.forEach不是一个function,然后查了childNodes的类型:

   typeof childNodes//Object
   childNodes instanceof Array //false

说明childNodes不是一个数组;
但是,通过下标又能够访问;

var childNodes = rootEle.children;
      console.log(childNodes[0]);
      console.log(childNodes[1]);

关于删除节点自身的例子,removeChlid的应用:

parent.removeChild(node);//参数是要删除的节点
删除自身节点:
node.parentNode.removeChild(node);
例如:点击页面上任何一个元素节点,将把它和它的所有子节点删除:

//应用了事件委托
document.body.onclick = function(event){
     event.target.parentNode.removeChild(event.target);
     console.log(event.target);
    }  

表单提交时的事件:onsubmit

onsubmit 事件会在表单中的确认按钮被点击时发生。
参考资料:http://www.w3school.com.cn/jsref/event_onsubmit.asp
例子:

<form name="testform" action="jsref_onsubmit.asp"
onsubmit="alert('Hello ' + testform.fname.value +'!')">

What is your name?<br />
<input type="text" name="fname" />
<input type="submit" value="Submit" />

</form>
日常踩坑记录-js正则匹配规则之lastIndex 复盘时间到 好家伙,又到了日常的复盘时间。来复盘一下我刚碰到的这个正则的问题。 img-1img-2先看上面两张图,暂且不说这个正则是起什么用的,图img-1里我用/\$\{(.*)\}/g这个正则先后去调用test方法和exec方法去匹配"${}"这个字符串。test返回true,exec返回一个由匹配到的字符串和匹配到的分组组成的数组,这两个方法都正常的返回了结果。在图img-2里我把这个正则用变量保存了起来(正则实质上也是对象,图img-1里的两个正则看似相同,其实是两个不同地址的正则对象,只是想 阅读详情

相关推荐

Jetson AGX ORIN硬件初始化和环境部署

orin预安装了ubuntu20.04,只需开机,像重装系统一样设置用户信息即可,可以参考官网的教程[https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit],官网提供了两种方式:一种是orin + 显示器,orin有提供DP接口,你需要准备一台显示器,最好也是有DP口的,因为我用DP转HDMI的连的,分辨率会受影响。确认安装的路径,一般直接回车安装在默认的 /home/你的名字/anaconda3。

TracyGC的博客 3836

Vue原理-双向绑定

Vue双向绑定原理 html内容 <!DOCTYPE html> <html> <head> <title></title> </head> <body> <div id='app'> {{ str }} <h2>{{str}}</h2> <b>{{str}}</b> <hr /> <button>{{a}}</b

火腿肠的博客 484

告别Overleaf!本地LaTeX环境配置:VSCode+TeXLive完全指南(Windows/Mac双平台)

本文详细介绍了如何在Windows和Mac平台上配置本地LaTeX环境,使用VSCode和TeXLive打造高效的专业写作工作流。从TeXLive安装到VSCode插件配置,再到高级技巧与性能优化,帮助用户摆脱Overleaf限制,实现更快速、更私密的学术写作体验。

3c4x5z6v7b的博客 952

在 JavaScript 中对数组进行 for-each

如何使用 JavaScript 遍历数组中的所有条目?

HuntsBot的博客 1838

CMake接口库实战:如何用add_library的INTERFACE选项管理跨项目依赖

本文深入探讨了CMake中add_library的INTERFACE选项在管理跨项目依赖时的实战应用。通过创建不包含源代码的接口库,开发者可以集中管理头文件路径、编译定义、链接库等公共配置,并将其声明式地传递给依赖目标。文章以构建模块化跨平台网络应用为例,详细展示了如何利用接口库实现配置的集中化、依赖关系的显式化,从而提升大型项目的可维护性和可移植性。

water的专栏 1040

基于8086微机原理数字钟计时器系统设计

*单片机设计介绍,基于8086微机原理数字钟计时器系统设计。

2201_75940997的博客 1279

关于获取到的DOM集合是伪数组的问题记录 ***children.forEach is not a function

报错 pointList.children是获取到父元素下的所有子元素集合,说这个集合没有forEach方法 pointList.children获取到的是HTMLCollection ,是一个伪数组,没有数组的方法 可以使用Array.from()进行转换(或解构赋值) 转换之后就可以使用forEach: 其他补充 如下图,是使用document.querySelectorAll() 获取到的NodeList 对象集合和 HTMLCollection 对象类似,具有forEach方法,没有其他数组方

A_Brave的博客 1649

海思HiMPP开发避坑指南:MMZ内存与系统内存傻傻分不清?一个例子讲透

本文深入解析海思HiMPP开发中MMZ内存与系统内存的关键差异与应用场景,帮助开发者避免常见的内存混淆问题。通过实际案例和性能对比,详细介绍了MMZ内存的特性和优化策略,提升多媒体处理效率。

weixin_30772105的博客 468

js foreach childNodes删除text结点

关于childNodes 删除其中的text结点 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> &lt

lxyxhy的博客 404

【功能安全】软件安全架构

目录01 软件安全架构介绍02 软件架构设计模板03 软件架构设计示例 软件架构设计的目的 软件架构设计的原则 软件架构设计输入与输出 软件架构设计的要求 注:软件架构设计和软件安全要求之间的双向可追溯性。软件架构设计原则: 软件架构静态/动态设计(参考秒尼科技术) 软件架构静态设计 软件架构动态设计 软件分层架构设计 软件架构设计安全机制错误探测的安全机制 其中:数据的范围检查指输入输出数据的范围进行检查,例如:在程序中我们可以通过数据范围来排除数据的正确性;合理性检查 例如:使用参

weixin_36460584的博客 511

智能挂锁软件需求规格说明书(SRS)

智能挂锁系统SmartPadlockV1.0是一款融合蓝牙通信、指纹识别和远程控制技术的便携式安防设备。系统由设备端、移动App和云平台三部分组成,支持蓝牙配对(10米内)、指纹识别、OTP一次性密码等多种开锁方式,响应时间<1.5秒。产品采用SM2/SM4加密技术保障安全,日均20次使用下续航达180天,兼容iOS13+/Android8.0+系统。功能包括设备绑定、远程授权、开锁记录查询和OTA固件升级,符合个人信息保护法规要求,适用于仓储、快递柜等多场景应用。

moton2017的博客 2112

Uncaught TypeError: route.children.forEach is not a function

嵌套路由错误

suixinCJC的博客 553

linux那些事之numa balance

numa balance numa balance是页迁移技术最重要也是最开始使用应用的技术,主要是为解决由于调度器进程在两个node迁移造成访问内存性能问题。 numba balance通过页迁移技术,将不在运行节点的内存迁移到所运行的节点上。对应numa balance要注意几点: 防止进程在两个节点之前来回切换造成频繁进行页迁移(ping pang现场)从而影响性能。numa balance本身就是为了提高性能,不能因为造成频繁页迁移而对性能进行一个反向优化。 多个线程分布在不同线程 访.

weixin_42730667的博客 3908

前端JavaScript 踩坑记录 bootstrap d3.js等

Javascript 获取svg元素(text、tect等)长度宽度位置为0或undefined 描述: 使用jQuery的.height()、getBoundingClientRect(),以及d3.js的selection.node().getBBox()均失效。 原因: 经过在不同代码段内插入以上方法排查,发现罪魁祸首是父元素的display属性设为了none,之后运行函数,即使最后display改了回来,以上方法也不能获取正确的方位、大小信息。 解决: 移动代码,获取长宽信息时保证display不是

twentyonepilots的博客 478

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Javascript踩坑记录

在使用JS进行程序设计时,往往最终的结果会事与愿违,我将导致这种情况的因素称为坑点。 1、Array.prototype.sort([fn]) 需要对数组原地稳定排序时,可以使用 arr.sort(fn), 但别忘了指定排序规则函数fn(a,b),否则会按元素的unicode码大小升序排序,如[1,2,10] => [1,10,2] 2、Number类型运算 js中无整数,只有IEEE754标准的双精度64位浮点数,因此做加减乘除运算的时候会很坑: // 第一个坑点 0.1 + 0.2 不等于 0.3

m0_57376385的博客 590

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

记录一下以前不知道的JavaScript的坑

记录一下以前不知道的JavaScript的坑 函数也有length属性,并且length属性的值是其可接受形参的数量

夜近天溟的博客 215

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

记录一个javascript中踩过的坑

console.log(obj["moviesIndex "]);//1 // console.log(obj.moviesIndex);//undefined var obj11 = { "indesxsx":"1111" } console.log(obj11.indesxsx)////1111 <navigator url="/pages/moviesDetail/...

qq_32972753的博客 179

JavaScript踩坑记录

1.数组排序问题,Array.sort(),直接使用sort排序时,会自动把元素转换为字符串再进行比较,所以排序出来的值可能会不准。 所以使用sort排序时,要使用如下写法: [5,3,4,1,2].sort(function(a,b){ return a - b }) 2、对函数进行bind绑定,会返回新对象,之前绑定的事件无法取消。 this.node.on('test',this.onTouch.bind(this)) // this.onTouch.bind(this)两次传递的是不同对象,内部

qq_42357338的博客 256

js笔记——记录在js中踩过的坑

易错函数拼写 forEach 而不是 foreach split 而不是splite 字符串操作 str = str.split 而不是 str.split public String substring(int beginIndex, int endIndex)函数,从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符。 “smiles”.sub...

zhang35的博客 255

记录JS遇到的一些坑

1.typeof:未经定义的变量typeof返回"undefined"。 2.数据类型: 1)js中 0 == '' 返回结果是 true 2)1 == '1'返回结果是true,但是在Map中1和'1'是不一样的 3)在获取输入框数据进行计算时,请先转换为数字 4)undefined+任何数字结果都是NaN 5)字符串+undefined的结果为字符串+'undefined'字符串 ...

u010825190的博客 255

JS踩坑记录

1.html文件里的js代码块,直接用&符号会报错“在实体引用中, 实体名称必须紧跟在 ‘&’ 后面”,这里需要对标签下的代码加一个CDATA标签, <script type="text/javascript"> // <![CDATA[ Javascript code here // ]]> </script> ...

hejia_yang的博客 175

【JavaScript踩坑记录】

最近在写一个嵌套了表格的对话框,要实现点击一个按钮就弹出一个新对话框,对话框内有一系列配置项,配置保存后为表格新增一行的功能,数据结构比较复杂。

HONG.1948 339

javascript之踩坑记录

坑1 console.log([] != []); //true console.log([] == []); //false  这个坑在于js里的==和===的区别。   1、对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进行“值”比较...

xdzcz的专栏 316

JavaScript使用selenium踩坑记录

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

Bug_MakerQAQ的博客 286

Next.js踩坑记录

几乎一整年没咋写文章,主要是懒,加上工作也挺忙。但是想趁着年底发一篇,希望明年更勤奋一点。其实不是没东西写,就是想深入一个东西还是很困难的,要查各种资料,最终还是懒就是了。 next.js是react的同构库,很多文章里把他当作一个脚手架,也不是不行,但是个人认为next.js比一般的脚手架能做的更多,但也有局限性。这两天下班回去实践了一下nextjs的开发。遇到一些坑,也有一些收获这里记录一下。...

weixin_33742618的博客 5421

记录Nuxt.js中开发遇到的坑

开发基于Nuxt.js博客中遇到的大坑

未来可期 4282
上一篇: 复习DOM相关操作
下一篇: 常用的表单验证
景洪在编程
博客等级 码龄9年 13粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值