我检查了一些建议,但我找不到任何与在文本中按顺序保持表情符号相关的内容。
我的情况是字符串从php到js(通过ajax)是完美的,然后传递给下面的这个函数。此时字符串看起来像这样
hello this is a test <a href="javascript:void(0);"><img onclick="addcodesmiley('newmessage',':cry:');return false;" class="smileyeach" src="https://example.com/ow_static/plugins/chat/images/icon_cry.gif" alt="cry" /></a> of the smokey bear <a href="javascript:void(0);"><img onclick="addcodesmiley('newmessage',':mad:');return false;" class="smileyeach" src="https://example.com/ow_static/plugins/chat/images/icon_mad.gif" alt="mad" /></a> ok then
这是我想要IE文本笑脸文本笑脸的顺序
但是当它离开js并获得html时,它会改变为笑脸笑脸文本的顺序
我认为从我的阅读中可以看出它与使用innerHTML有关,因为图像没有innerHTML。我已经阅读了关于使用DOM和jquery进行解析的细节,但老实说,我不确定这是不是问题,我不想在这里追逐我的尾巴。
这是我用来将数据发布到html的函数,在这个阶段,它的顺序是正确的。除了更改为()()文本的顺序,其他一切工作正常。
为什么订单会改变?我将研究如何纠正它?
function postchat(userinfo, mess, thetime)
{
/* create the dynamic table cells */
var chattable = document.getElementById("showChat");
var row = chattable.insertRow(0);
var userdat = row.insertCell(0);
var umsg = row.insertCell(1);
var mtim = row.insertCell(2);
/* load the cells */
userdat.innerHTML = userinfo;
umsg.innerHTML = mess;
mtim.innerHTML = thetime;
/* set the class for cells */
userdat.className = 'uinfo';
umsg.className = 'mess';
mtim.className = 'when';
/* move scroll bar down with text */
updateScroll();
}//close function postchat
谢谢;)
答案 0 :(得分:0)
问题解决了它在我的CSS中
表格中的第一个单元格是头像和具有
类别的用户名 .uinfo {
width:20%;
padding-left: 0px;
text-align: left;
}
当我第一次设置它时,我想将头像推到一点,所以我添加了
img {
float: left;
padding-left: 5px;
padding-right: 5px;
}
并没有将它限制在第一个单元格而是所有图像......所以当我添加表情符号时,我忘了进入并将其限制在那个单元格中。
所以我只需将其改为此
.uinfo img {
float: left;
padding-left: 5px;
padding-right: 5px;
}
问题解决了......答案是在框外,我从不认为CSS是解决方案。主要是因为我的脑袋仍然在过去,我想当CSS在HTML中,当我没有看到它时,我不会想到它。它应该更加重要,我在这里吸取了教训。