Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用“将JQuery代码翻译为Javascript问题”;“预结束”;_Javascript_Jquery - Fatal编程技术网

使用“将JQuery代码翻译为Javascript问题”;“预结束”;

使用“将JQuery代码翻译为Javascript问题”;“预结束”;,javascript,jquery,Javascript,Jquery,我想翻译这个jquery代码: $('#zone')。前置(''+login+''+message+'') 我试过: document.getElementById('zone').innerHTML=''+login+''+message+'' 但问题是我不知道我能把“.prepend”放在哪里。 感谢您的帮助您应该将其添加到字符串的开头,如下所示: var zone = document.getElementById('zone'); const content = zone.innerHT

我想翻译这个jquery代码:
$('#zone')。前置(''+login+''+message+'

')

我试过:
document.getElementById('zone').innerHTML=''+login+''+message+'

'

但问题是我不知道我能把“.prepend”放在哪里。
感谢您的帮助

您应该将其添加到字符串的开头,如下所示:

var zone = document.getElementById('zone');
const content = zone.innerHTML;
zone.innerHTML = `<p><strong>${login}</strong>${message}</p>` + content;
var zone=document.getElementById('zone');
const content=zone.innerHTML;
zone.innerHTML=`${login}${message}

`+内容;
您应该将其添加到字符串的开头,如下所示:

var zone = document.getElementById('zone');
const content = zone.innerHTML;
zone.innerHTML = `<p><strong>${login}</strong>${message}</p>` + content;
var zone=document.getElementById('zone');
const content=zone.innerHTML;
zone.innerHTML=`${login}${message}

`+内容;
如果您想坚持使用
innerHTML
,您可以这样做:

const zone=document.getElementById('zone');
zone.innerHTML=''+login+''+message+'

'+zone.innerHTML;
另一个想法是使用dynamic元素并避免重写
#zone
HTML(当您在那里有输入之类的内容时,这一点很重要,因为第一个示例将清除它们):

const p=document.createElement('p');
const strong=document.createElement('strong');
strong.textContent=登录;
p、 追加(强,“+消息);
document.getElementById('zone').prepend(p);

如果您想坚持使用
innerHTML
,您可以这样做:

const zone=document.getElementById('zone');
zone.innerHTML=''+login+''+message+'

'+zone.innerHTML;
另一个想法是使用dynamic元素并避免重写
#zone
HTML(当您在那里有输入之类的内容时,这一点很重要,因为第一个示例将清除它们):

const p=document.createElement('p');
const strong=document.createElement('strong');
strong.textContent=登录;
p、 追加(强,“+消息);
document.getElementById('zone').prepend(p);
您可以使用属性和方法,因此它不会重新创建现有的子元素

// create the `p` tag and set its HTML content
const p = document.createElemnt('p');
p.innerHTML = '<strong>' + login + '</strong> ' + message ;

const ele = document.getElementById('zone');
// insert the created p tag element before the first element
ele.insertBefore(p, ele.firstChild) ;
//创建'p'标记并设置其HTML内容
const p=document.createElemnt('p');
p、 innerHTML=''+登录+''+消息;
const ele=document.getElementById('zone');
//在第一个元素之前插入创建的p标记元素
ele.insertBefore(p,ele.firstChild);
您可以使用属性和方法,因此它不会重新创建现有的子元素

// create the `p` tag and set its HTML content
const p = document.createElemnt('p');
p.innerHTML = '<strong>' + login + '</strong> ' + message ;

const ele = document.getElementById('zone');
// insert the created p tag element before the first element
ele.insertBefore(p, ele.firstChild) ;
//创建'p'标记并设置其HTML内容
const p=document.createElemnt('p');
p、 innerHTML=''+登录+''+消息;
const ele=document.getElementById('zone');
//在第一个元素之前插入创建的p标记元素
ele.insertBefore(p,ele.firstChild);

有一个
prepend()
方法可以解决这个问题。@RoboRobok:是的,这是一种支持旧浏览器的替代方法。我第一次在JS中听说prepend函数:)学到了一个新东西today@RoboRobok有了prepend,你可以自己使用html字符串是的,我知道
prepend()
的工作原理与
append()
类似。与
appendChild()
不同,它还可以接收文本。有
prepend()
方法可以实现这一点。@RoboRobok:是的,这是一种支持旧浏览器的替代方法。我第一次在JS中听说prepend函数:)学到了一个新东西today@RoboRobok有了prepend,你可以自己使用html字符串是的,我知道
prepend()
的工作原理与
append()
类似。与
appendChild()
不同,它还可以接收文本。感谢Robo提供的解决方案和您的解释,一切正常!谢谢你的机器人,为这个解决方案和你的解释,所有的工作!