【问题标题】:Add html element values to javascript object properties将 html 元素值添加到 javascript 对象属性
【发布时间】:2015-07-01 20:52:29
【问题描述】:

我有一个 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"
}

【问题讨论】:

  • 只是对您使用“id”的评论。 ID 是唯一的。如果您打算管理多行,则不应使用它们。是这样吗?

标签: javascript html object


【解决方案1】:

你是说

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

对于整数或

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

如果价格有小数

对于标签:

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

请注意.innerHTML 与旧版浏览器兼容 - 如果您不需要支持它们,请改用.textContent

喜欢

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)
}
<table>
  <tr>
    <th id = "price">100</th>
    <th id = "label">product</th>
  </tr>
  <table>

【讨论】:

    【解决方案2】:

    考虑到这段代码:

    <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)

    您可以使用textContentdatawholeText 而不是nodeValue。查看this 了解更多信息并满足您的需求。

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2023-04-01
      • 2020-07-06
      • 1970-01-01
      相关资源
      最近更新 更多