2016-06-19 2 views
0

この関数からbackgroundColorを返すことはできますが、textまたはinnerTextは返すことはできません。私はクリックしたときに背景色とテキストの両方を選びたい約100のボタンを持っています。私は各ボタンの機能を望んでいません。aspボタンをクリックしてテキストを返す方法は?

var cがアラートに表示されるため、アラートは機能していますが、var iTは空白です。

私はChrome v51〜とIE11の両方で試しました。

単に
$(document).ready(function(){ 
    $(this).click(function() { 
     var b = document.getElementById(document.activeElement.id); 
     var c = b.style.backgroundColor; 
     var iT = b.innerText; 
     alert(c + " " + iT); 
    }); 
}); 
+0

問題が発生しているプロパティGoogleのinnerTextを使いましたか?最初のヒットは "それは非標準であり、それを使用しない"と示唆しています。 – James

+0

ようこそStackOverflowへ。何が起こっているかを見るためにあなたのHTMLを提供してください。 'innerHTML'ではなく' innerText'が必要ですか? – YakovL

+0

あなたのボタンが 'input type =" button "または' input type = "submit"ならば、 "text"は 'value'属性です。 '何か'なら 'innerHTML'です。 –

答えて

0

:ボタンとのリンク

<a class="my-button">Click me</a> 

$(document).ready(function(){ 
    $('.my-button').click(function() { 
    var btn = $(this) 
    var color = btn.css('backgroundColor') 
    var text = btn.text() || btn.val() // if text is inner html tag, or on value attribute 
    alert(color + " " + text); 
    }); 
}) 

<button class="my-button" value="Click me"/> 
<input type="submit" class="my-button" value="Submit"/> 
+0

ありがとうございます、上記のrgb色番号が返されますが、テキスト値はありません。すべてのボタンではなく特定のボタンに指定する必要があります。私はそれと一緒に遊んで、私が思いつくことができるものを見て、再び感謝します。 – NitroMuse

+0

ご返信ありがとうございました。 – Arthur

+0

ありがとうございました。どのように解決された質問に印を付けるのですか? – NitroMuse

0

ボタンの値を取得するjQueryの中のattr()関数を使用します:

alert($(this).attr("value")); 
+0

これは 'unidentified'を返します – NitroMuse

+0

あなたのボタンには 'value'属性がありません。 '

+0

があなたの助けを借りてこの作業をしました、ありがとう – NitroMuse

関連する問題