在函数内使用getElementById(JavaScript)

时间:2015-02-06 17:53:41

标签: javascript html function getelementbyid

我是JavaScript的新手,经过多次尝试创建一个“快捷方式”,在函数中使用getElementById,我几乎放弃了。我知道这有问题,但我找不到错误。

这是HTML

<body> 
    <table>
        <tr>
            <td>Name: </td>
            <td id="name"></td>
        </tr>
    </table>
<script src="JS/return.js"></script>

这是JavaScript代码:

var hotel = {
  name: "Park",
  roomRate: 240,
  discount: 15 / 100,
  offerPrice: function() {
    var offerRate = this.roomRate - (this.roomRate * this.discount);
    return offerRate;
  }
};

function element(idName, text) {
  var idd = document.getElementById(idName).textContent = text;
}

element(name, hotel.name);

我感谢我能得到的任何帮助:)

编辑:

谢谢!正确的代码如下:

function element(idName, text) {
  var idd = document.getElementById(idName).textContent = text;
}

element("name", hotel.name);

3 个答案:

答案 0 :(得分:1)

试试这个

function element(idName, text) {
    var idd = document.getElementById(idName);
    idd.textContent = text;
}

element("name", hotel.name);

首先,获取元素,然后单独修改其内容

http://jsfiddle.net/h40qrdwg/

答案 1 :(得分:0)

您需要定义一个用作element

中第一个参数的变量
//need to define a name first
var name = "name"; 

function element(idName, text) {
    document.getElementById(idName).textContent = text;
}

element(name, hotel.name);

答案 2 :(得分:0)

您正在将名为name的变量传递给函数,但您尚未在代码中定义它。

如果您想保持命名的灵活性,只需在脚本中定义变量,如下所示:

var name = "name";

如果你设置了传递id,只需通过方法传递字符串“name”。

这里要理解的重要一点是,你需要通过你的方法传递ID的字符串,作为一个等于字符串的变量,或者字符串本身。

此外,如果您想在定义对象后对其进行操作,则需要将其返回。但一次只有一个问题!