-1

DOM要素を文字列に変換することは可能ですか? 基本的に、次のようなものが必要です。

リスト:

<div selector="HERE DOM ELEMENT" > Some element</div>
<div selector="HERE DOM ELEMENT 2" > Some element 2</div>
<div selector="HERE DOM ELEMENT 3" > Some element 3</div>

そして、いくつかのセレクターをクリックすると、指定された Dom 要素を強調表示したいと思います。

このリストは、http: //tinybug.smartbird.pl/example/index.htmlのようなスクリプトによって生成されます。また、セレクタ リストをクリックすると、間違った Dom 要素が選択されることがあります。

何か案は?

よろしくお願いします

4

2 に答える 2

3

DOM 要素を文字列として保存し、後でその文字列で見つけることはできません。ID、クラス、またはすべての属性を含むタグ名によって、これらの要素を何らかの形で特定する必要がありますが、それらを特定する必要があります。これは、jQuery でその文字列を使用するのに役立ちます。

ある種のアルゴリズムを提案できます:

  • そのような要素がある場合は要素のIDを見つけ、文字列として保存します#id_of_element
  • それ以外の場合は、要素のクラス名を検索し、タグ名、クラス名、および一致する要素のリスト内のインデックスを使用して要素を格納します。これは、同じタグ名と同じクラス名を持つ複数の要素が存在する可能性があるためです。
  • 問題に固有の他の識別方法を考えてください。
于 2012-10-13T12:54:48.787 に答える
0

プロパティセレクターの値はすでに文字列ではありませんか? その中の要素に特定のIDを付けることはどうですか?

<div class="selectable" selector="element_1">Click to select element 1</div>
<div class="selectable" selector="element_2">Click to select element 2</div>
<div class="selectable" selector="element_3">Click to select element 3</div>        

<div id="element_1">ELEMENT 1</div>
<div id="element_2">ELEMENT 2</div>
<div id="element_3">ELEMENT 3</div>

<script type="text/javascript">
    $("div.selectable").click(function(){
        var div_selector = $(this).attr("selector");                
        $('html').find("#"+div_selector).css("background-color", "#ddd");
    });
</script>
于 2012-10-13T13:17:12.937 に答える