-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 回答