Javascript 如何使用jqueryappend在li标记中添加img标记
我试图找到一种方法,用jQuery替换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!:)'; 消息=应用微笑(消息); 控制台日志(消息); //
标记中的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">');