将html元素值添加到javascript对象属性

时间:2015-04-23 15:02:10

标签: javascript html object

我有一个javascript对象和一个html表。

    	var myObj = [
	{
           price: 1,
           label: "One"
        }
     ];
<table>
  <tr>
    <th id = "price">100</th>
    <th id = "label">product</th>
  </tr>
  <table>

是否可以在对象中插入表值?

为了获得更新的属性

{
price: 100,
label: "product"
}

2 个答案:

答案 0 :(得分:5)

你的意思是

myObj.price=parseInt(document.getElementById("price").innerHTML,10);

表示整数或

myObj.price=parseFloat(document.getElementById("price").innerHTML);

如果价格有小数

和标签:

myObj.label=document.getElementById("label").innerHTML;

请注意,.innerHTML与旧浏览器兼容 - 如果您不需要支持,请使用.textContent代替

&#13;
&#13;
var myObj = [
	{
           price: 1,
           label: "One"
        }
     ];
window.onload=function() {
  myObj.price=parseInt(document.getElementById("price").innerHTML,10);
  myObj.label=document.getElementById("label").innerHTML; 
  window.console&&console.log(myObj)
}
&#13;
<table>
  <tr>
    <th id = "price">100</th>
    <th id = "label">product</th>
  </tr>
  <table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

考虑此代码:

<table>
  <tr>
    <th id = "price">100</th>
    <th id = "label">product</th>
  </tr>
<table>

获取这些值:

document.getElementById("price").nodeValue;
document.getElementById("label").nodeValue;

见Jsfiddle here

然后将金额转换为整数,请使用parseInt(string)。作为浮动值(它是一个数量),使用parseFloat(string)

您可以使用nodeValuetextContentdata代替wholeText。检查this以了解更多内容并满足您的需求。