Javascript 如何使用jqueryappend在li标记中添加img标记

Javascript 如何使用jqueryappend在li标记中添加img标记,javascript,jquery,html,Javascript,Jquery,Html,我试图找到一种方法,用jQuery替换标记中的smileys:-) 期待:嗨! 函数应用\u笑脸(消息){ // https://regex101.com/r/yS0eM4/1 var regex|u smile=/(:\)(:-\)(\(:))(\(:)(\(:)/g; message=message.replace(regex_smile“”); 返回消息; } $(文档).ready(函数(){ var message='Hi!:)'; 消息=应用微笑(消息); 控制台日志(消息); //

我试图找到一种方法,用jQuery替换
  • 标记中的smileys
    :-)

    期待:
  • 嗨! 函数应用\u笑脸(消息){ // https://regex101.com/r/yS0eM4/1 var regex|u smile=/(:\)(:-\)(\(:))(\(:)(\(:)/g; message=message.replace(regex_smile“”); 返回消息; } $(文档).ready(函数(){ var message='Hi!:)'; 消息=应用微笑(消息); 控制台日志(消息); //嗨! $(“
  • ”+message+”
  • )。附加到(“#my_list ul”); //你好 });
    • 这是测试

    您的预期是错误的,而您得到的是正确/有效的

    img
    标签是自动关闭的(它们不能有关闭标签)

    引用

    允许的内容无,它是一个空元素。
    标记省略必须有开始标记,而必须有结束标记


    因此,最好将代码更正为

    <html>
        <head>
            <script src="https://code.jquery.com/jquery-latest.min.js"></script>
            <script>
    
                function apply_smileys(message) {
                    // https://regex101.com/r/yS0eM4/1
                    var regex_smile = /(:\))|(:-\))|(\(:)|(\(-:)/g;
                    message = message.replace(regex_smile,'<img class="smile"></img>');
                    return message;
                }
    
                $(document).ready(function() {
                    var message = 'Hi! :)';
                    message = apply_smileys(message);
                    console.log(message);
                    // Hi! <img class="smile"></img>
                    $('<li>' + message + '</li>').appendTo('#my_list ul'); 
                    // <li>Hi! <img class="smile"></li>
                });
    
            </script>
        </head>
        <body>
            <div id="my_list">
                <ul>
                    <li>This is test</li>
                </ul>
            </div>
        </body>
    </html>
    
    message=message.replace(regex_smile,”);
    
    我第一次尝试将更改为,但随后/丢失,我得到了一个未关闭的标记。同样,img标记是自动关闭的。您根本不需要关闭它们。@Thomas别担心。不允许有关闭标记的标记不需要结尾。
    。因此
    是有效的html,也是最现代的浏览方式急诊室会给的。再次感谢!应该多喝点咖啡还是上床睡觉。我太担心一个不存在的结束标签:(
    message = message.replace(regex_smile,'<img class="smile">');