次のdiv要素を含むページがあります。
<div id="myDiv" class="myDivClass" style="">Some Value</div>
JQueryまたは標準JSを使用して値(「一部の値」)を取得するにはどうすればよいですか?私は試した:
var mb = document.getElementById("myDiv");
ただし、デバッガコンソールには「mb is null」と表示されます。この値を取得する方法を知りたいだけです。
----更新----提案を試してみると、$は関数ではありません
これは、ボタンをクリックしたときに値を読み取ろうとするJQueryイベントハンドラーの一部です。ハンドラー関数は機能していますが、jQuery値を解釈できないようです。
jQuery('#gregsButton').click(function() {
var mb = $('#myDiv').text();
alert("Value of div is: " + mb.value);
});
myDivObj = document.getElementById("myDiv");
if ( myDivObj ) {
alert ( myDivObj.innerHTML );
}else{
alert ( "Alien Found" );
}
上記のコードはinnerHTMLを表示します。つまり、div内でhtmlタグを使用している場合は、それらも表示されます。おそらくこれはあなたが期待したものではありません。別の解決策は、innerText/textContentプロパティを使用することです[bobinceに感謝、彼のコメントを参照]
function showDivText(){
divObj = document.getElementById("myDiv");
if ( divObj ){
if ( divObj.textContent ){ // FF
alert ( divObj.textContent );
}else{ // IE
alert ( divObj.innerText ); //alert ( divObj.innerHTML );
}
}
}
$('#myDiv').text()
あなたは次のようなことをした方が良いでしょう:
var txt = $('#myDiv p').text();
alert(txt);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myDiv"><p>Some Text</p></div>
JQueryファイルにもリンクしていることを確認してください:)
divが次のようになっている場合:
<div id="someId">Some Value</div>
次のようなjqueryで取得できます。
$('#someId').text()
divは次のようになります。
<div id="someId">Some Value</div>
Jqueryの場合:
<script type="text/javascript">
$(function(){
var text = $('#someId').html();
//or
var text = $('#someId').text();
};
</script>
使用できます
jQuery('#gregsButton').click(function() {
var mb = jQuery('#myDiv').text();
alert("Value of div is: " + mb);
});
$の使用に矛盾があるようです。変数 'mb'はイベントハンドラーの外部からアクセスできないことに注意してください。また、text()関数は文字列を返します。mb.valueを取得する必要はありません。
Innerhtmlを使用して、タグ内の値を取得することもできます。