📅  最后修改于: 2023-12-03 15:41:25.814000             🧑  作者: Mango
在Javascript中,节点表情符号可以通过以下方式获取:
let nodeList = document.querySelectorAll('emoji-selector');
其中,emoji-selector
可以替换成对应的节点选择器,例如获取页面内所有的表情符号节点:
let emojiList = document.querySelectorAll('.emoji');
表情符号节点通常包含以下属性:
className
: 表示节点的类名,可用来判断节点是否为表情符号textContent
: 表示节点内的文本内容,通常为空src
: 表示表情符号的图片地址alt
: 表示表情符号的描述文本title
: 表示表情符号的提示文本表情符号节点的图片地址可以通过以下方式获取:
let emojiNode = document.querySelector('.emoji');
let imgUrl = emojiNode.src;
将文本中的表情符号替换为对应的图片可以使用一下代码:
let str = 'Hello 😊World';
let regex = /:\w+:/g; // 匹配以冒号开头和结尾的单词
let emojiList = document.querySelectorAll('.emoji');
str = str.replace(regex, function(match) {
let imgUrl = '';
for (let i = 0; i < emojiList.length; i++) {
if (emojiList[i].alt === match) {
imgUrl = emojiList[i].src;
break;
}
}
return `<img src="${imgUrl}" alt="${match}" title="${match}" />`;
});
可以使用以下代码动态添加表情符号:
let emojiList = ['😊', '😂', '😍', '😉'];
let container = document.querySelector('.emoji-container');
emojiList.forEach(function(emoji) {
let imgNode = document.createElement('img');
imgNode.src = `./images/${emoji}.png`;
imgNode.alt = emoji;
imgNode.title = emoji;
container.appendChild(imgNode);
});
以上代码将会向类名为emoji-container
的节点中添加表情符号。