children.innerText在firefox中不起作用

时间:2014-09-18 14:12:34

标签: javascript jquery firefox

我有一个像这样的HTML:

<div class="tree" id="divTreeViewIncomeDetails" style="height: auto;">
            <li><span class="fa fa-folder-open highlight" id="3" onmouseover="visibleLink('3', 'Incomes', '0')" onmouseout="hideLink('3')"><span onclick="GetTreeViewChartOfAccountsByParam('3', 'Incomes')">Incomes </span><span class="closingbalance">INR 50.00Dr </span></span>
                <ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="84" onmouseover="visibleLink('84', 'Sales A/c', '1')" onmouseout="hideLink('84')" onclick="ViewLedgerMsg(84)"><span onclick="GetTreeViewChartOfAccountsByParam('84', 'Sales A/c')">Sales A/c </span><span class="closingbalance">INR 50.00Dr </span></span></li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-folder-open chartwidth" id="98" onmouseover="visibleLink('98', 'Indirect Income', '1')" onmouseout="hideLink('98')"><span onclick="GetTreeViewChartOfAccountsByParam('98', 'Indirect Income')">Indirect Income </span><span class="closingbalance">INR 0.00Cr </span></span>
                            <ul>
                                <ul>
                                    <li><span class="fa fa-file chartwidth" id="99" onmouseover="visibleLink('99', 'Realized Exchange Gain', '2')" onmouseout="hideLink('99')" onclick="ViewLedgerMsg(99)"><span onclick="GetTreeViewChartOfAccountsByParam('99', 'Realized Exchange Gain')">Realized Exchange Gain </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                                </ul>
                                <ul>
                                    <li><span class="fa fa-file chartwidth" id="122" onmouseover="visibleLink('122', 'Rounding off Gain A/c', '2')" onmouseout="hideLink('122')" onclick="ViewLedgerMsg(122)"><span onclick="GetTreeViewChartOfAccountsByParam('122', 'Rounding off Gain A/c')">Rounding off Gain A/c </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                                </ul>
                                <ul>
                                    <li><span class="fa fa-file chartwidth" id="124" onmouseover="visibleLink('124', 'Discount Received A/c', '2')" onmouseout="hideLink('124')" onclick="ViewLedgerMsg(124)"><span onclick="GetTreeViewChartOfAccountsByParam('124', 'Discount Received A/c')">Discount Received A/c </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                                </ul>
                                <ul>
                                    <li><span class="fa fa-file chartwidth" id="140" onmouseover="visibleLink('140', 'Stock Income', '2')" onmouseout="hideLink('140')" onclick="ViewLedgerMsg(140)"><span onclick="GetTreeViewChartOfAccountsByParam('140', 'Stock Income')">Stock Income </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                                </ul>
                            </ul>
                        </li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="134" onmouseover="visibleLink('134', 'Clearing And Forwarding Rcd', '1')" onmouseout="hideLink('134')" onclick="ViewLedgerMsg(134)"><span onclick="GetTreeViewChartOfAccountsByParam('134', 'Clearing And Forwarding Rcd')">Clearing And Forwarding Rcd </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="135" onmouseover="visibleLink('135', 'Transport charges received ', '1')" onmouseout="hideLink('135')" onclick="ViewLedgerMsg(135)"><span onclick="GetTreeViewChartOfAccountsByParam('135', 'Transport charges received ')">Transport charges received  </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="156" onmouseover="visibleLink('156', 'Sales Discount A/c', '1')" onmouseout="hideLink('156')" onclick="ViewLedgerMsg(156)"><span onclick="GetTreeViewChartOfAccountsByParam('156', 'Sales Discount A/c')">Sales Discount A/c </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="158" onmouseover="visibleLink('158', 'Stock Income A/c', '1')" onmouseout="hideLink('158')" onclick="ViewLedgerMsg(158)"><span onclick="GetTreeViewChartOfAccountsByParam('158', 'Stock Income A/c')">Stock Income A/c </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                    </ul>
                    <ul>
                        <li><span class="fa fa-file chartwidth" id="163" onmouseover="visibleLink('163', 'Exchange Gain A/c', '1')" onmouseout="hideLink('163')" onclick="ViewLedgerMsg(163)"><span onclick="GetTreeViewChartOfAccountsByParam('163', 'Exchange Gain A/c')">Exchange Gain A/c </span><span class="closingbalance">INR 0.00Cr </span></span></li>
                    </ul>
                </ul>
            </li>
            <li><span class="fa fa-arrow-down" style="width: 100%; color: red; font-weight: 700;"><span>Net Loss </span><span class="closingbalance">14,950.00Cr</span></span></li>
        </div>

现在我需要获得

  • 的内容

    为此我这样做:

    var items = [];
                var inputData = $('#divTreeViewIncomeDetails').find('li > span');
    
                for (var i = 0; i < inputData.length; i++) {
                    var position, data1, data2;
                    position = inputData[i].className;
                    data1 = inputData[i].children['0'].innerText.trim();
                    data2 = inputData[i].children['1'].innerText.trim();
                    var item = { position: position, data1: data1, data2: data2 }
                    items.push(item);
                }
    

    它在IE,Chrome,Safari,Opera中运行良好

    但不在FIREFOX !!!

    data1 = inputData[i].children['0'].innerText.trim();
    

    这一行我没有得到FF中的值,它跳过了代码

    是否有替代代码?

  • 2 个答案:

    答案 0 :(得分:2)

    innerText未在FireFox中实现innerText不是官方的。 您可能希望使用我认为适用于所有浏览器的textContent

    编辑:(文档说它适用于IE9及以上版本)

    请参阅文档:link

    文档中的小引用

      

    与innerText的区别

         

    Internet Explorer引入了element.innerText。意图是   几乎有所不同之处:

         

    请注意,textContent获取所有元素的内容,   包括和元素,大多相当于   特定于IE的属性innerText没有。 innerText也知道   样式并不会返回隐藏元素的文本,而   textContent会。由于innerText知道CSS样式,它会   触发重排,而textContent不会

    答案 1 :(得分:1)

    使用textContent代替innerText