-1

DOM / Missing elements について理解を深める必要があります。

私が使う

$(document).ready(function(){ 
// show div tag
});

しかし、私の要素がどういうわけかDOMで利用できないことに固執しているようです。

console.log($(".show_quota").length);     
console.log($(".show_restriction").length); 

どちらの長さも 0 です。そのため、これらの div タグは私の DOM では使用できません。

では、何を探す必要がありますか?これらの要素を DOM で取得するにはどうすればよいですか? これらの html フォーム要素が DOM から消える理由は何ですか?

$(document).ready(function()すべての html 要素が dom に表示されることを保証しませんか? クラスとIDがjqueryで正しく呼び出されている限り?

更新 1: Mozilla DOM Inspector をインストールしました - しかし、情報に圧倒されました :)

しかしねえ... 古き良きソースhtml(Inspect Element With Firebugを介して)を見ると、divタグが表示されない...だから... jqueryコマンドが機能しないのも不思議ではありません。

更新 2: HTML マークアップは次の方法で処理されます。

    $('#modal').html("");

        var output = '<div class="modal-content">';
        output += 'some html stuff';
        output += '<div id="show_quota" >'; 
        output += 'some html stuff 2';
        output += '</div>'; 


    $('#modal').append(output);
    $('#modal').reveal();     

更新 3:問題は解決しました。

に;

  1. FireQuery のアンインストール (私のセットアップではバグがあります)
  2. 修正済み

      output += '<div id="show_quota" >';    // to line below
      output += '<div id="show_quota" style="display:inline" >'; 
    
  3. これらにより、チェックボックスがクリックされたときにタグが表示/非表示になりました。

4

1 に答える 1

2

このようなものをDOMに追加します...

<div class="show_quota"></div>
<div class="show_restriction"></div>

classで参照されます。#id参照されます

たとえば<div id="show_restriction"></div>、使用しますconsole.log($("#show_restriction").length);

テストする必要がある場合は、ここにフィドルがあります。

于 2015-05-01T12:09:49.013 に答える