のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,063,060人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.100 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    151 = :

    var __s = '';
    document.open = document.close = function() {
     __s = '';
    }
    document.write = function(s) {
     document.body.innerHTML = __s+s;
    }

    152 = :

    innerHTMLってその場にそれだけ書いて動くの?
    元々あるタグの操作とかでしょ?

    document.writeはいきなり書いても出力できるよね。

    forでループさせてtableタグを一気に書きたい場合とかはどうするんでしょうか?

    154 = :

    (親フレーム)
    <title name="t1">フレーム使用例</title>
    ・・・
    <frameset rows="100,*">
    <frame src="fm3.html" name="ue">
    <frameset cols="150,*">
    <frame src="fm1.html" name="hidari">
    <frame src="fm2.html" name="migi">
    </frameset>

    (fm3.html)
    parent.document.getElementById("t1").value = "test frame";


    ではないんでしょうか?
    普通にtitleで書いても動かないです・・・

    156 = :

    >>148
    それは単にそこのサイトの人の見解でしょw

    157 = :

    なるほど
    それで>>142のような馬鹿な質問ができるのか

    159 = :

    >>158
    どうダメなのかが分からない
    ライブラリなど?これも意味不明
    >>124に書いてあるじゃないの

    160 = :

    >155
    間違えました。
    古いのコピった・・

    親フレームは
    <title id="t1">フレーム使用例</title>

    です

    161 = :

    >>156
    コンストラクタをapply出来ないってことだろ?
    確かにどう転んでも言語仕様上無理だな

    162 = :

    >>185
    IDは一意だから、DocumentにしかgetElementByIdは無い

    getElementsByClassName

    163 = :

    >161
    コンストラクタそのものはapplyできないが
    振る舞いだけ似せるなら実装可能

    164 = :

    >>185>>158

    165 = :

    >>163
    中途半端な実装は避けるべきだぞ。タコ野郎。

    167 :

    >>156
    そのサイトの管理人と同じ見解だから紹介したまでです。
    希望があるとすれば eval() や new Function() でしょうか。

    そもそも、あなたはどう考えているのですか?

    168 = :

    ライブラリは必須ではないが
    >>152のようなtableの自動作成
    みたいなのはjQueryを使えばエレガントに書ける

    169 = :

    サーバーサイドでやれよ

    170 = :

    >>158
    > document.body.getElementsByTagName('p') は大丈夫なのに、
    > document.body.getElementById('data1') はダメなんですね。
    > なぜダメなんでしょうか。
    DOM L2 Core によると、Element#getElementsByTagName はありますが、Element#getElementById はない為だと思われます。
    http://www.y-adagio.com/public/standards/tr_dom2_core/core.html#ID-745549614

    171 = :

    >>163
    >>129の目的は「Function::bindメソッド互換の関数をIE8以下でも使えるように実装する」なんだから振る舞いだけ似せても仕方ないんじゃないかな

    172 = :

    >>162>>166>>170
    ありがとうございます。
    良く分かりました。この部分はきっと厳密に作られた仕様を忠実に守ってるんですね。
    >>170
    確かにインタフェースDocumentのほうにだけgetElementByIdがありました。
    http://www.y-adagio.com/public/standards/tr_dom2_core/core.html#i-Document

    getElementsByClassNameも分かりました。
    ですが、IE8以前には存在しないということで、そういった古いブラウザを考慮する場合は
    何か関数を作ってやらないと取得できない、そういう理解で正しいでしょうか?

    173 = :

    >>158
    var nodes = document.getElementById('name1').getElementsByTagName('p');
    for ( var i = 0; i < nodes.length; ++i ) {
     // nodes[i].childNodes[0].data がテキスト。表示するなり配列にpushするなりご自由に。
    }

    174 = :

    >>172
    IE8+ には querySelector が存在します。
    getElementsByClassName と違って not-live ですが、live である必要性がない場合には扱いやすい API です。
    IE7- にはjQuery等のライブラリを利用するか、Selectors API や getElementsByClassName を自作するか、IE7- だけ処理を分けるしかないですね。
    # ちなみに、getElementsByClassName は live ですので完全な互換性を持つライブラリは作成できません。

    177 = :

    >>159
    説明不足ですみませんでした。
    例えばOperaでは、このようなエラーが出たのです。
    Uncaught exception: TypeError: 'document.body.getElementById' is not a function
    >>173
    例をありがとうございます。
    まだ試してみてませんが、nodes[i].childNodes[0].dataは大変参考になります。
    今までは
    F='innerText'in document.body;
    としておいて、
    F?nodes[i].innerText:nodes[i].textContent
    のようにテキストを得ていました。

    178 = :

    【やりたいこと】
    要素の背景色(background)を1秒ごとに、黄色⇔灰色のように
    変更して点滅のような効果を出したいです。

    【試したこと】
    デフォルトではcssで黄色(#FF0)に設定。

    jqueryのsetIntervalと、if文を組み合わせて
    flagが0なら灰色(#CCC)に変更して、flagを1にする。
    次のif分岐の時は、elseの方に入るので、黄色(#FF0)に変更してflagを0にする…
    というような方法。

    【結果】
    灰色に変更してから次の黄色に変更の動作に進んでくれません。。。

    【ソース】
    http://jsdo.it/hirorih/fhhc

    【ひとこと】
    お知恵おかしくださいませ。

    179 = :

    >>174
    liveとは、書き換えられた内容も反映されているということですね。
    今やっていることはliveである必要がないので、いろいろな方法を検討してみます。
    詳しい解説をありがとうございました。

    183 = :

    >>178
    14,15行を入れ替えれば望み通りにはなるよ。
    var flag=0;
    setInterval(function(){

    184 = :

    >>178
    var flag=0 を setInterval の外に出す。
    $('.hoge') も出した方がいいが。

    それから、馬鹿の雑音は気にすんな。

    185 = :

    >>178
    一応補足しておきますが、blink 的な挙動は迷惑スクリプトと認識される場合があります。
    嫌われる可能性があるという意味ではお勧め出来ませんね…。

    187 = :

    >>185

    アドバイスありがとうございます。
    使い所気をつけます!

    188 = :

    自演乙

    189 = :

    でも>>182ってやろうと思えばできるよな

    190 = :

    でっていう

    192 = :

    >>89ではないが、
    Number("Infinity") → NaN
    Number("無限大") → NaN
    Number("∞") → NaN
    Number("ゼロ") → NaN

    193 = :

    やっべ俺ゲーム作る時全無視だ

    195 :

    子供の頃、basicで画面の色を赤青緑マゼンタ…と変えるのをループさせると
    画面が白く見えることに気づいて、順番とか変えながらずっといじってたら
    ゲロ吐いて寝込んだことがあるのを思い出した

    関係あるのかなあ

    197 = :

    >>196
    連番の変数を作ったら勝手に配列になるとかあり得ないでしょ。
    picという配列を作ってそこに要素入れるようにすれば。

    198 = :

    すまん、ちゃんと読んでなかった。そのfor文があってるのかとか
    外側で配列picを作っているのかとかエラー出てないのかとかを
    確認するべきかと。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について