ホームページ  >  に質問  >  本文

JavaScript の再帰関数に関する質問はマスターに質問してください。

こんばんは、マスター、私の関数が実行できない理由を調べるのを手伝ってください。
状況説明: p のテーブルは ajax を介して読み込まれているため、この関数の目的はそのようなテーブルが存在するかどうかを判断することです。存在する場合は背景を赤にします。存在しない場合は、1 の後に次の関数を実行します。しかし、テーブルがロードされて表示されると、find() 関数によってテーブルが赤くなりません (エラー レポート: Uncaught RangeError: 最大呼び出しスタック サイズを超えました)
マスターの皆さん、よろしくお願いします。

漂亮男人漂亮男人2648日前625

全員に返信(2)返信します

  • 我想大声告诉你

    我想大声告诉你2017-06-28 09:26:22

    との最大通話数を超えたため。 p.getElementsByTagName('table')[0]这个取到的是一个DOM对象,由于DOM对象没有.length属性,所以target.length其实是未定义的。而undefined > 0的值一直是false,所以你会无限次地调用else分支,所以也就会添加无数次的find(p)绑定。所以浏览器提示find

    正しいアプローチは、

    の値をそのままにすることです。 targetp.getElementsByTagName("table"),这才是一个数组,才有.length

    アップデート

    コード:

    オプション1: (すべてのテーブルの配列の長さを判断し、最初の操作を実行します)
    リーリー

    オプション2:(テーブルを直接判定し、取得したテーブルを直接操作する)

    リーリー

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-28 09:26:22

    target.length ターゲットはテーブルです。table.length とは何ですか?

    ぜひ参考にしてください

    リーリー

    返事
    0
  • キャンセル返事