私はjavascriptツリーを持っています。ここでユーザーはツリーノードを選択してボタンをクリックし、次にその選択されたツリーノードの隣にアイコンを追加します。ここ要素またはhtmlタグが存在するかどうかを確認します
は、そのツリー内の1つのノードのソースコードである:以下
<li node_id="4" name="mars" >
<ins class="jstree-icon"> </ins>
<a href="#" class="jstree-clicked"><ins class="jstree-icon"> </ins> Mars Planet
<a style="cursor: default;"><ins class="pattern-icon3"> </ins></a> <!--this line displays the icon-->
<a style="cursor: default;"><ins class="pattern-icon3"> </ins></a> <!--this line displays the same icon again-->
</a>
</li>
.
.
.
iはツリーノードの隣のアイコンを追加するために使用するコードです。
$j("li[name='"+node_name+"'] > a").append('<a style="cursor:default;"><ins class="' + icon_class + '"> </ins></a>');
アイコンが正しく表示されます。
私の問題は、次のとおりです。
私は一度だけ、特定のアイコンを表示する必要があります。 現在、ユーザーがノードを選択してボタンを2回クリックすると、その選択されたノードの隣に2つのアイコンが追加されます。
追加する前にノード名の隣にすでに<a style="cursor: default;"><ins class="pattern-icon3"> </ins></a>
が追加されているかどうかを確認する方法はありますか?
質問とは無関係ですが、この「」の使用は実際には意味がありません。あなたがハイフン/マイナス記号を書式化したい場合は、ハイフン*を使用してください。 – You
提案に感謝しますが、jstreeを使用してjsonファイルからツリーを生成し、タグがjstree自体によって作成されています – tanya