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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - タグè¿1⁄2åŠ + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : Name_Not - 2010/10/19(火) 14:15:42 ID:??? (+4,-29,-155)
    >>444
    どういう使いかたをするかにもよる
    現在ではjavascript:スキームを使ったほうがよい場面は少ないので、#でいいと思う
    ページ内遷移させたくないならpreventDefault()やreturnValueの設定を忘れずに

    JavaScript無効時に意味を持たないアンカーはJavaScript側で生成・挿入したほうが無難だったり
    a要素ライクな体裁を持たせたいがIE6対応が必要な場合にはa要素を使うしかなかったり(CSSの疑似クラス未対応問題)
    単なるボタンとして使う場合は、できればWAI-ARIAのroleを持たせてやったほうがよかったり
    WCAG 2.0のシングルA対応するならもっと色々考えることがあったり

    そのへん全然ワカンネ、というなら最初にいった結論に戻るけど#一択が無難じゃないのかな
    452 : Name_Not - 2010/10/19(火) 18:16:15 ID:??? (+27,+0,-8)
    いまさらIE6対応は特殊技能の域だろ
    454 : Name_Not - 2010/10/19(火) 21:32:40 ID:??? (+32,-29,-64)
    document.styleSheetsを使う

    style属性で疑似クラスを表現する方法を策定中という記事を読んだことがあるけど
    あれからどうなったんだろうな
    455 : Name_Not - 2010/10/19(火) 21:43:07 ID:??? (+5,-22,+2)
    どうもありがとうございますm(_ _)m
    456 : Name_Not - 2010/10/19(火) 23:24:05 ID:??? (+62,+29,-41)
    >>454
    http://www.w3.org/TR/2010/CR-css-style-attr-20101012/
    履歴を追えば分かるが、2002年でストップしていたものをHTML5が引っ張り出したもの
    その際、疑似クラスの部分はきれいさっぱり削ぎ落とした
    457 : Name_Not - 2010/10/20(水) 19:13:54 ID:??? (+43,-30,-103)

    <form action="#">
      <select>
        <option value="">▼選択してください</option>
        <option value="apple">りんご</option>
        <option value="banana">バナナ</option>
      </select>
    </form>

    formタグ内を操作せずに、selectタグに
    「onchange="alert(this.options[this.options.selectedIndex].text)"」を追加するには
    どう記述すればよいでしょうか?
    formタグはプログラムで自動生成されるので、そちらを弄ることができないのです。
    458 : 457 - 2010/10/20(水) 19:16:43 ID:??? (-1,-29,-16)
    サンプルでは省略しましたが、name要素はあります。
    459 : Name_Not - 2010/10/20(水) 19:24:50 ID:??? (-2,-30,-46)
    nameか・・・nameは複数につけられるからなぁ・・・
    対象となるエレメントをXPathなりquerySelectorAllで取得して
    それにaddEventListenerとかすればいいんでないの?

    460 : Name_Not - 2010/10/20(水) 19:28:01 ID:??? (+3,-30,-113)
    HTMLにはname要素というものはないと思うが。要素とかそういう用語が
    分かってなくてDOM操作を書くのは無理な気もするけど…

    document.forms.名前A.elements.名前B.onchange = function() {
    alert(this.options[this.selectedIndex].text); };

    かなあ。試してないけど。あと関数の中身のコードは適当に推測で
    変えたけど。そして名前Aはform要素のname属性の値、
    名前Bはselect要素のname属性の値。属性とは何か分からないなら
    あきらめた方がいいと思う。あと、上記のコードを実行すると
    form要素の子要素の属性を変更しているので、それが「formタグ内を
    操作している」ことになるというのならやっぱりあきらめた方が
    いいと思う。
    461 : 457 - 2010/10/20(水) 19:50:37 ID:??? (-29,-30,-126)
    下記のようにしましたが、反応してくれないです。。
    ちなみにIE8です。

    <SCRIPT type="text/javascript">
    document.forms.form.elements.selecter.onchange = function() {
    alert(this.options[this.selectedIndex].text); };

    </SCRIPT>

    <form name="form" action="#">
    <select name="selecter">
    <option value="">▼選択してください</option>
    <option value="apple">りんご</option>
    <option value="banana">バナナ</option>
    </select>
    </form>
    464 : Name_Not - 2010/10/20(水) 20:09:21 ID:??? (+78,+29,-79)
    こんにちは、ちょっと質問があります。

    元々PHPでWEBサイトを作っていました。
    JavaScriptのエフェクトが気に入ったのでJavaScriptを勉強しました。

    すると、PHPでもJavaScriptでもどちらでも可能な部分が出てきました。
    例えばフォームの入力内容をチェックするコードなどです。

    そゆときはどちらでやればいいのでしょうか。悩んでます。
    465 : Name_Not - 2010/10/20(水) 20:12:47 ID:??? (+57,+29,-55)
    どっちででもするもんじゃないの?Javascript側で即チェックするのはユーザビリティのため
    PHP側で送信時にチェックするのはデータを安全に受け取るため
    466 : Name_Not - 2010/10/20(水) 20:16:40 ID:??? (+31,-12,-47)
    >>464
    両方でやるべき。
    手間とサーバーの負荷を考えるとJavaScriptだが、
    JavaScriptがオフの環境もあるし、
    パスワードなんかはJavaScriptでは無理。
    どうしても二者択一ならPHPだが。
    468 : Name_Not - 2010/10/20(水) 20:29:00 ID:??? (+57,+29,-8)
    PHP側でチェックしないというのはありえない
    JavaScriptでのチェックをすり抜ける方法はあるからな
    469 : 457 - 2010/10/20(水) 20:33:36 ID:??? (+26,-29,-64)
    getElementByIdでうまくいきました。

    実際はselectタグじゃなくてinputタグで行っていたのですが、
    キー入力しただけでは反応しなくて、
    フォーカスが移動しないと、onchangeは働かないのですね。
    リアルタイムな変更に対応するにはどうすればいいですか?
    470 : Name_Not - 2010/10/20(水) 20:36:15 ID:??? (+2,-29,-31)
    document.styleSheetsって、確かブラウザ依存する定義だったよな
    471 : Name_Not - 2010/10/20(水) 20:52:28 ID:pKhD4ne9 (-29,+26,+0)
    >>469
    見張れ
    472 : Name_Not - 2010/10/20(水) 21:17:45 ID:??? (+59,+29,-30)
    >>469
    漢字変換をしないならonkeyupで。するのなら定期的に中身を
    取り出して前と変化したかどうか調べるしかない(ブラウザに
    よって違うので、主要なブラウザどれでも動くとなるとそうなる)。
    473 : Name_Not - 2010/10/20(水) 23:55:55 ID:??? (-1,-30,-59)
    >>470
    WebKitだとlink要素で指定したAlternate Stylesheetsが含まれない
    xml-stylesheets命令ならOK
    474 : Name_Not - 2010/10/21(木) 05:32:34 ID:??? (+3,-29,-116)
    AEやOEのような合字やアクサン付きのアルファベット等を、
    その元となった文字とマッチングさせたい(文字列比較で同一の文字として扱いたい)のですが、
    一覧を自前で保持する他に、組み込み関数等を用いた適当な方法はあるでしょうか。
    ブラウザ/JavaScriptエンジン依存でも構いません。
    Google Chromeのページ内検索だと、欧文合字どころか〼(ます)とか〆(しめ)とかまで引っかかるので
    何かうまい方法があるのかと気になって……。
    475 : Name_Not - 2010/10/21(木) 09:56:38 ID:??? (+57,+29,-6)
    望む結果を得たいなら、やはり自前しかないのでは。
    476 : Name_Not - 2010/10/21(木) 11:31:07 ID:EcnlH3iF (+29,+29,-150)
    運営しているサイトのユーザーさん向けにウィジェットを作ろうと思っているんですが、
    こういうコードを貼りつけてもらう系のって、やっぱりjqueryとかのライブラリ使わずに
    生javascript直書きで実装した方がよいでしょうか?

    例えばjquery使って実装したものをユーザーさんが自分のサイトに貼り付けたとき、
    そのサイトでprototypeとかゴリゴリ使っていたら衝突してしまったりするのではないかなと思いまして。

    ご意見いただけると嬉しいです。
    477 : Name_Not - 2010/10/21(木) 13:10:48 ID:??? (+57,+29,-10)
    そうだね。namespaseも一つにしてできるだけ衝突する可能性を敷く苦したほうがいい
    478 : Name_Not - 2010/10/21(木) 18:42:54 ID:Se5dLD2o (-8,+28,-11)
    作られた変数を一覧するようなことはどうすればできますか?firebugとかそういうのを使うんですか?
    480 : Name_Not - 2010/10/21(木) 22:22:20 ID:??? (+9,-30,-70)
    どうもありがとうございます
    無名関数の外にあるものを取得する場合はこんな感じ?ですか?
    javascript:(function(a){for(var i in window){a+=i+" : "}alert(a);})("");
    もともとあるwindowのプロパティは拾わないようにするにはどうすればいいんでしょうか
    481 : Name_Not - 2010/10/21(木) 22:25:56 ID:??? (-9,-28,-3)
    >>479
    Firebugのデバッガ使えばそのaも見ることできるよ
    482 : Name_Not - 2010/10/22(金) 00:19:57 ID:??? (+4,-30,-114)
    >>480
    Firefoxなら 'propName' in window.__proto__ で元々持ってるプロパティを選別することができると思う
    まとめると多分こんな感じ
    javascript:(function(a){for(var i in window){if (!(i in window.__proto__))a+=i+" : "}alert(a);})("");
    483 : Name_Not - 2010/10/22(金) 06:29:57 ID:??? (+57,+29,-3)
    作ったものだけ表示させることができました
    どうもありがとうございます
    484 : Name_Not - 2010/10/22(金) 08:06:34 ID:??? (-10,-29,-16)
    >>479
    ステップ実行するかconsole.log(a)で見れるよ
    485 : Name_Not - 2010/10/22(金) 10:44:49 ID:??? (+47,-30,-57)
    初歩的な質問なんですが、お願いします。

    <div class="hoge">
     <p>
     <h2>
      <a href="http://hogehoge">リンクテキスト</a>
     </h2>
     </p>
    </div>


    という部分から、「リンクテキスト」という文字列を取り出したいんですけど、
    何故か中々うまく行きません。

    どういった方法を取るのが良いのでしょうか・・・アドバイス頂けないでしょうか
    487 : zardrell - 2010/10/22(金) 15:57:58 ID:??? (+6,-30,-62)
    >>485
    aタグにIDをつけたらどうでしょうか?

    <a href="http://hogehoge" id="test">リンクテキスト</a>

    <script type="text/javascript">
    alert(document.getElementById('test'));
    </script>
    488 : Name_Not - 2010/10/22(金) 16:06:41 ID:??? (+11,-30,-47)
    >>487
    それじゃHTMLAnchorElementでtoString()実行された結果の[object HTMLAnchorElement]しか表示されんだろ
    (IE6やIE7は除く)

    >>485
    >>486 の方法に加えてtextContent(IE は innerText)も選択肢に含められると思う
    489 : Name_Not - 2010/10/22(金) 16:07:40 ID:??? (+1,-30,-14)
    document.querySelector('div.hoge > p > h2 > a').textContent
    pの中にh2とか馬鹿じゃね
    490 : zardrell - 2010/10/22(金) 16:11:20 ID:??? (+4,-30,-34)
    >>488
    すいません 間違いました
    alert(document.getElementById('test').href);

    これでどうでしょう?
    491 : zardrell - 2010/10/22(金) 16:12:53 ID:??? (+4,-30,-46)
    >>488
    文字列だったら
    alert(document.getElementById('test').innerHTML);
    ですね
    492 : Name_Not - 2010/10/22(金) 16:45:56 ID:??? (+7,-30,-106)
    例えば(C)マークを表示するつもりで
    element.appendChild(document.createTextNode("©"));
    とすると、実際にはelementの中身は「©」になってしまいます。
    本来の目的どおり「©」をappendChildするにはどうやればよいのでしょうか?
    493 : Name_Not - 2010/10/22(金) 16:48:45 ID:??? (+57,+29,-19)
    まさかinnerHTMLで確認するなんて間抜けなことをしてないだろうな
    494 : Name_Not - 2010/10/22(金) 16:50:31 ID:??? (-1,-29,-59)
    >>492
    あれ?変換された?
    ©→©
    ©→&copy;
    です。
    495 : Name_Not - 2010/10/22(金) 16:58:33 ID:??? (+91,+29,-28)
    テキストノードなんだからエスケープなんかいらない
    そのまま書け
    496 : Name_Not - 2010/10/22(金) 18:15:16 ID:??? (+70,+29,-33)
    >>495
    明快な回答ありがとうございます。

    では改めて質問なんですが、
    こういうキーボードから直接入力できない文字ってどうやって入力するんですか?
    いちいちコピペ?
    497 : Name_Not - 2010/10/22(金) 18:22:20 ID:??? (+56,+28,-3)
    os 依存のネタはそれ用の板で聞けよ
    498 : Name_Not - 2010/10/22(金) 18:35:24 ID:??? (-9,-27,+0)
    \uHHHH
    499 : Name_Not - 2010/10/22(金) 18:36:26 ID:??? (-1,-29,-7)
    SJISならわかるけどUnicodeでos依存もねーよw
    500 : Name_Not - 2010/10/22(金) 19:14:59 ID:??? (+86,+29,-9)
    あれか、漢字を直接入力できるキーボード使ってるのか、見てみたいぜ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - タグè¿1⁄2åŠ + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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