jqueryでクリックした際に文字を変更させ、再度クリックすると元に定義されていた文字に戻したいのですが、何とかできたのですが、何か違和感があります。
もっと効率的な書き方がありそうなのですが、どのようにすると良いでしょうか?
というのも、現在の定義だとHTML側のリストという名称を変更した場合、jquery側も変更が必要になってしまうので、なんと言いますか、toggle的なもので、変更前、変更後を切り替えるような方法などありましたらアドバイスをお願いいたします。
HTML
1 <ul> 2 <li>リスト</li> 3 <li>リスト</li> 4 </ul>
jquery
1 $(function () { 2 $("li").click(function () { 3 var change = "変更しました!"; 4 if ($(this).text() === "リスト") { 5 $(this).text(change); 6 } else { 7 $(this).text("リスト"); 8 } 9 }); 10 });
要件通りできてればそれが正解なので、
見直すなら観点を明確にするところからかと思います。
1つのゴールに向かうためのルートは無数にあります。
回答2件
あなたの回答
tips
プレビュー