我正在尝试在JavaScript中使用document.write()
方法使用对象<p>
编写带有you
标签的句子。我试图将一个句子连接起来,例如下面的示例,但是它将对象打印在另一行上。
我需要它来使同一行中的所有内容组成一个适当的句子,并能够创建包含多个句子的段落。
var you = {
firstName: 'John',
lastName: 'Doe',
age: '32'
};
document.write("<p>Hello my name is "</p> + firstName + " " + lastName)
答案 0 :(得分:0)
<p>
元素是块元素,它会自动创建一个类似的中断。您应该使用<span>
。并且还从firstName
对象访问lastName
和you
,否则它们将引发错误
var you = {
firstName: 'John',
lastName: 'Doe',
age: '32'
};
document.write("<span>Hello my name is </span>" + you.firstName + " " + you.lastName)
答案 1 :(得分:0)
根据您的要求,您可以使用Template Literals
请注意,没有Babel之类的编译器不支持IE
var you = {
firstName: 'John',
lastName: 'Doe',
age: '32'
};
document.write(`<p>Hello my name is ${you.firstName} ${you.lastName}</p>`);
答案 2 :(得分:0)
首先,您似乎有一个错字,我认为这会引起一些问题。
document.write("<p>Hello my name is "</p> + firstName + " " + lastName);
在上面的行中,"
在</p>
的错误一侧,因此</p>
在字符串之外,并且在解析时会引起问题。另外,您应该将变量称为you.VARIABLE_NAME
,例如you.lastName
。
此外,如果您希望将整行放在同一段落中,那么在构建字符串时,只需将结束段落移到末尾即可。像这样:
document.write("<p>Hello my name is " + you.firstName + " " + you.lastName + "</p>");
如果要在同一段落中编写多行,则可以将所有内容都放在同一行代码中,如下所示:
document.write("<p>Hello my name is " + you.firstName + " " + you.lastName + " and I'm " + you.age + " years old." + "</p>");
或者您可以将其分隔在几行不同的代码中,以使其更易于阅读和遵循,如下所示:
document.write("<p>");
document.write("Hello my name is " + you.firstName + " " + you.lastName);
document.write("and I am " + you.age + " years old.")
document.write("</p>")
编辑:
您可能还想尝试模板字符串。如果您对字符串使用`
而不是'
或"
,则可以通过将它们包装在${}
中来引用字符串中的变量,如下所示:
document.write(`Hello my name is ${you.firstName} ${you.lastName} and I'm ${you.age} years old.`)
只是一个想法!您可以在此处阅读有关模板字符串的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
此外,还有比document.write
更好的方法来向页面添加文本。这是一个可能有用的简单指南:
https://www.w3schools.com/js/js_output.asp
答案 3 :(得分:0)
您正在关闭<p>
,并且报价组无效。您可以像这样使用模板文字:
var you = {
firstName: 'John',
lastName: 'Doe',
age: '32'
};
document.write(`<p>Hello my name is ${you.firstName} ${you.lastName}</p>`);
ES5语法:
var you = {
firstName: 'John',
lastName: 'Doe',
age: '32'
};
document.write("<p>Hello my name is " + you.firstName + " " + you.lastName + "</p>");