アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の様に、classのON,OFFのtoggleがありますが。

this.classList.toggle("active");

このような使い方で、対象に文字を挿入したり削除を直接行う方法はありますでしょうか?

イメージ的には、動作しませんが、以下のイメージです。

target.addEventListener("click", function () {
this.innerText.toggle = ""hoge;
})

↓classを付与してtoggleで表示非表示を制御するのではなく、

this.classList.toggle("active");

直接文字の書き換えなどをtoggle的に利用できる方法がありますでしょうか?
アドバイス頂けますと助かります、宜しくお願いいたします。

A 回答 (2件)

No1です。



>そうなると結論としてはNOという認識でよいのでしょうか?
??
>document.getElementById('fuga').toggle('hoge')
みたいな記述も紹介しておいたはずですが・・

何もせずに、質問者様が「○○.toggle~」と記述しさえすれば、インタプリタ―が忖度してくれないのかという意味のご質問であるのならNOですね。
AIが搭載されているわけではありませんので。
    • good
    • 0
この回答へのお礼

有難うございます、理解が深まりました。

お礼日時:2023/02/15 10:14

こんばんは



単純に文字列の有/無の二択だけで良いのなら比較的簡単では?
toggleメソッド自体は定義されてはいませんけれど、内容的には、対象要素を element とするなら
 element.textContent = element.textContent.length?'':'hoge';
みたいな感じで実現できると思います。

これを、メソッド化したければ、オレオレで定義しておくことも不可能ではないでしょう。
(決して、お勧めできることではありませんけれど・・)
 if(!HTMLElement.toggle){
  HTMLElement.prototype.toggle = function(s){
  this.textContent = this.textContent.length?'':s;
 }};

document.getElementById('fuga').toggle('hoge')
とか。

※ 上の例は文字の有無だけで単純判断しているので、正確にはtoggleの意味合いとは異なりますが、判断条件を変えれば実現できるでしょう。
    • good
    • 0
この回答へのお礼

有難うございます、なるほどです三項演算子というか条件分岐で判断という事ですね。
innerTextとかも、toggle的な使い方ができるものなのか不思議だったので質問をさせて頂きましたが、そうなると結論としてはNOという認識でよいのでしょうか?

お礼日時:2023/02/14 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!