javascript - 在被点击的元素之后追加元素

标签 javascript jquery

我的 eventListener 不能正常工作。我想在被点击的 $( ".new-slide") 之前附加一个元素 newSlideDiv 。如何正确制作?这是我的错误代码。

现在,代码会在每个新的滑动按钮之前附加 newSlideDiv

  var newSlideButton = document.querySelectorAll('.new-slide');
    for (var i = 0; i < newSlideButton.length; i++) { 
        newSlideButton[i].addEventListener('click', function(){
        newSlide(); }, false )
    }
   var newSlide = function() {
        var newSlideDiv = $('<div class="step slide">
         <h2>New Slide</h2></div>');
        $( ".new-slide").before(newSlideDiv);      
    }

最佳答案

使用this,这是回调中被点击的元素:

var newSlideButton = document.querySelectorAll('.new-slide');
for (var i = 0; i < newSlideButton.length; i++) { 
    newSlideButton[i].addEventListener('click', newSlide, false )
}
var newSlide = function() {
    var newSlideDiv = $('<div class="step slide">
     <h2>New Slide</h2></div>');
    $(this).before(newSlideDiv);      
}

但是当你使用 jQuery 时,你不需要使用 querySelectorAll :

$('.new-slide').click(function(){
 var newSlideDiv = $('<div class="step slide"><h2>New Slide</h2></div>');
 $(this).before(newSlideDiv);      
});

关于javascript - 在被点击的元素之后追加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833841/

相关文章:

Jquery插件有时加载有时不加载

jquery - 将鼠标悬停在整个 div 上时,在 IE 中悬停不起作用

javascript - 如何从不符合 Ember.js 规范的 URL 请求?

javascript - 提交表单时,清除所选项目

javascript - Axios POST 请求 : Content-type is set, 但在 spring 内它是空的

javascript - 如果长度为空,则需要通过一个条件

javascript - 如何在 JavaScript 匿名函数的声明时使用变量的值?

javascript - PaperJS - 两点之间的 Angular

javascript - 尝试使用 cors 获取请求的资源上不存在 'Access-Control-Allow-Origin' header 来访问 google contacts api

javascript - 如何在 html 中将文本字段输入从 1234567891234 转换为 1234-56-789-1234?