期望一个赋值或函数调用,而是看到一个带有JavaScript的表达式

时间:2017-01-31 03:47:45

标签: javascript html object

我正在使用此JavaScript,无法将其显示为HTML。我在控制台中看到它,但我在页面上看到的只是我的名字。

创建一个名为" me"的对象。用你的名字,城市和职称描述你。

//    Display the content of the object in the HTML page.
var me = {
  name: "Roxann",
  city: "Denver",
  jobTitle: "Paralegal"
};

console.log(me);

document.getElementById("q1").innerHTML = me.name, me.city, me.jobTitle;

4 个答案:

答案 0 :(得分:1)

试试这个,

document.getElementById("q1").innerHTML = "Name:"+me.name+ ", City:"+me.city+", "+ me.jobTitle;

答案 1 :(得分:1)

由于innerHTML包含字符串(html字符串),您必须首先构建html内容:

var html = me.name + ', ' + me.city + ', ' + me.jobTitle;
document.getElementById("q1").innerHTML = html;

或使用ES6:

document.getElementById("q1").innerHTML = `${me.name}, ${me.city}, ${me.jobTitle}`;

答案 2 :(得分:0)

变量声明me没问题。所有数据都在那里。要正确地在.innerHTML中进行设置,请尝试使用以下内容:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].join(' ');

或者,对于每个人自己的行,你可以这样做:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].join('\n');

或者可能会变得有意思,并在飞行中创建一些HTML:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].map(field => {
  return `<div class="some-class">${field}</div>`;
}).join('');

答案 3 :(得分:0)

您需要按照javascript中的连接字符串顺序连接。有两种方法可以做到这一点;

一个。加法运算符(+)

&#13;
&#13;
var a = "start the sentence,";
var b = " then join the sentence.";
var result = a + b;
&#13;
&#13;
&#13;

湾concat()方法

&#13;
&#13;
var a = "start the sentence,";
var b = " then join the sentence.";
var result = a.concat(b);
&#13;
&#13;
&#13;

两者都会得到相同的答案。

由于您创建了一个对象,您可以采取额外的步骤来添加一个返回输出的方法。

&#13;
&#13;
var me = {
  name: "Roxann",
  city: "Denver",
  jobTitle: "Paralegal",
   toString: function() {
     return this.name + "," + this.city + "," + this.jobTitle
   }  	
};
&#13;
&#13;
&#13;