機能.html()
は、アイテムが表示されているときに機能します。しかし、style="display:none"
を追加すると、html()関数は何も返しません。この問題の回避策はありますか?ありがとう?jQuery .html()は隠しdivで動作しませんか?
答えて
それは仕事、http://jsfiddle.net/jNLqA/
<div style="display: none">
<p>Test</p>
</div>
<pre></pre>
と
$('pre').text($('div').html());
が私のためにうまく動作するようです。このデモ見るん:http://jsfiddle.net/petersendidit/wgQpg/
はこの作品を(表示はハードコード):
<div id='blah' style="display:none">something</div>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
alert($('#blah').html());
});
</script>
<div id='blah'>something</div>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$('#blah').attr('style','display:none');
alert($('#blah').html());
});
</script>
と、これは(jqueryの/ wを別の方法でそれを変更)あまりにも動作します:すっごく
<div id='blah'>something</div>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$('#blah').hide();
alert($('#blah').html());
});
</script>
...から詳細/コンテキストを必要とするので、この(jQueryを使ってこれを変更)しあなた
EDIT(UPDATE):あなたのコメントに基づいて
サンプルコードでは...再び、これは動作します:
<?php
class blah {
var $element_type;
var $content;
}
$field = new blah();
$field->element_type = 'div';
$field->content = 'something';
?>
<<?php print $field->element_type; ?> class="field-content accordionContent" style="display:none"><?php print $field->content; ?></<?php print $field->element_type; ?>>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
alert($('div').html());
});
</script>
多分あなたのhtmlを壊している$ field-> contentに何かがありますか?終了タグや見積もりなどがありませんか?または、あなたのjqueryセレクターが輝いていないかもしれませんか?あなたのセレクターの外観はどうですか?
私の投稿へのコメントの詳細情報。ありがとう。 – user194076
あなたのコメントに基づいて更新が追加されました –
jQueryコードよりもページが上位になると、.htmlが隠し要素の値を取得できないことがわかったので、ここに投稿したいと思います。
要素を可視にすると、コードは期待どおりに機能します。要素をjQueryの下に移動すると、コードも機能します。
これは少なくとも私の答えと思われます。
したがって、最も簡単な修正は、jQueryコードを隠し要素の上に移動し、.htmlが隠し要素で機能するようにすることです。
これは、jQueryのバグかもしれないようですが、これはむしろ奇妙な動作です。 また、jQuery .hideメソッドを使用してページの読み込み時に要素を非表示にしてから、値を取得する前に表示するようにした場合、要素がまだ見知らぬ方が高い場合でも失敗します。
ロビン
私はIDを使用した場合、問題があったクラスに変更し、すべてが
- 1. なぜjquery fadeIn()は.html()で動作しませんか?
- 2. AJAX/jQuery alert()は動作しません.html()または.text()は
- 3. jQueryはiFrameで動作しません。
- 4. jqueryはdreamweaverで動作しません
- 5. HTML + CSS: '' 幅は動作しません
- 6. タッチスタートイベントが当初隠しボタンで動作していません
- 7. jQueryツリービューのプラグインがHTMLファイルで動作しません
- 8. Javascriptはxhtmlで動作しますが、htmlでは動作しません
- 9. 隠しフォームへのPostMessageは初めて動作しません。
- 10. jQueryでjsFiddleで動作していますが、htmlではありません
- 11. jQueryモバイルスクリプトが動作しませんか?
- 12. ofstream Windows 7の隠しファイルで動作しません
- 13. jQuery .blurは動作しません
- 14. jQuery next()live()で動作しません
- 15. jQueryがIEで動作しません
- 16. jqueryセレクタが[]で動作しません
- 17. JQuery Sortable Connectで動作しません
- 18. jqueryがDjangoで動作しません
- 19. JQueryのクリック操作は一度しか動作しません
- 20. DIVはjQueryで下に移動しません
- 21. JQueryはIEでしか動作しません
- 22. JQueryはFirefoxで動作しますが、IEでは動作しません
- 23. jQueryはブラウザで動作しますが、アンドロイドエミュレータでは動作しません
- 24. jQuery load()はlocalhostで動作しますが、サーバでは動作しません
- 25. jQueryアニメーションはインターネットでは動作しませんが、ローカルで動作します
- 26. はChromeで動作しますが、Firefoxでは動作しません - jquery
- 27. jQueryのslideToggleはFirefoxでCOLSPANでは動作しませんか?
- 28. HTMLキャンバスが動作しません
- 29. CodeMirror HTMLモードが動作しません
- 30. VIM html autoindentが動作しません
うまく働いた私はあなたが間違っていると思います。 'html'関数は、CSSに関係なく動作するはずです。 – tvanfosson
それはあなたの問題ではありません。コンテキストやセレクタを追加できますか? – meagar
私はあなたにエラーを与えるコードを投稿する必要があると思います。私は表示することができます:なしdivとまだ$().html()のHTMLコンテンツを返すには、問題はありません。 –