javascript / jQuery “insertAfter” 函数参数中的空格会导致失败

Whitespace in argument of javascript / jQuery "insertAfter" function causes failure

本文关键字:空格 失败 参数 jQuery insertAfter 函数 javascript      更新时间:2023-09-26

我正在使用jQuery在按钮后插入一些html,当单击该按钮时被单击时

以下函数运行良好:

$(document).ready(function(){       
    $('#someid').click(function() {     
        $('<div>Hello world</div>').insertAfter($('#someid').parent());                
     });
});

发现了两件事,我不会忘记:

1.

   $(document).ready(function(){        
        $('#someid').click(function() {     
            $('<div>Hello world</div>
               <div>another div</div>    <p>some html</p>

               <div>weird spacing</div>
              ').insertAfter($('#someid').parent());                
         });
    });

不起作用,即在元素之间引入空格(或换行符?

阿拉伯数字。

$(document).ready(function(){       
    $('#someid').click(function() {     
        $('Im just a string not good HTML').insertAfter($('#someid').parent());                
     });
});

也失败了,似乎如果我不插入有效的 HTML 作为函数的参数,它就不会插入它?

2)只是一种好奇心,但1)阻止我粘贴一大块HTML如果单击按钮,我想成为插入的HTML,我必须删除所有空格吗?

这是因为转义字符的转义用途。

换行符在 javascript 中被视为语句的结尾,您可以在末尾使用'在字符串文字中对其进行转义

   $(document).ready(function(){        
        $('#someid').click(function() {     
            $('<div>Hello world</div>'
               <div>another div</div>    <p>some html</p>'
               '
               '
               <div>weird spacing</div>'
              ').insertAfter($('#someid').parent());                
         });
    });

此外,由于您已经使用'将字符串括起来,因此字符串中的任何实例也必须使用'转义

$(document).ready(function(){       
    $('#someid').click(function() {     
        $('I''m just a string not good HTML').insertAfter($('#someid').parent());                
     });
});