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

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

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

>>444
どういう使いかたをするかにもよる
現在ではjavascript:スキームを使ったほうがよい場面は少ないので、#でいいと思う
ページ内遷移させたくないならpreventDefault()やreturnValueの設定を忘れずに

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

そのへん全然ワカンネ、というなら最初にいった結論に戻るけど#一択が無難じゃないのかな

452 = :

いまさらIE6対応は特殊技能の域だろ

454 = :

document.styleSheetsを使う

style属性で疑似クラスを表現する方法を策定中という記事を読んだことがあるけど
あれからどうなったんだろうな

455 = :

どうもありがとうございますm(_ _)m

456 = :

>>454
http://www.w3.org/TR/2010/CR-css-style-attr-20101012/
履歴を追えば分かるが、2002年でストップしていたものをHTML5が引っ張り出したもの
その際、疑似クラスの部分はきれいさっぱり削ぎ落とした

457 = :


<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タグはプログラムで自動生成されるので、そちらを弄ることができないのです。

460 = :

HTMLにはname要素というものはないと思うが。要素とかそういう用語が
分かってなくてDOM操作を書くのは無理な気もするけど…

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

かなあ。試してないけど。あと関数の中身のコードは適当に推測で
変えたけど。そして名前Aはform要素のname属性の値、
名前Bはselect要素のname属性の値。属性とは何か分からないなら
あきらめた方がいいと思う。あと、上記のコードを実行すると
form要素の子要素の属性を変更しているので、それが「formタグ内を
操作している」ことになるというのならやっぱりあきらめた方が
いいと思う。

464 = :

こんにちは、ちょっと質問があります。

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

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

そゆときはどちらでやればいいのでしょうか。悩んでます。

465 = :

どっちででもするもんじゃないの?Javascript側で即チェックするのはユーザビリティのため
PHP側で送信時にチェックするのはデータを安全に受け取るため

466 = :

>>464
両方でやるべき。
手間とサーバーの負荷を考えるとJavaScriptだが、
JavaScriptがオフの環境もあるし、
パスワードなんかはJavaScriptでは無理。
どうしても二者択一ならPHPだが。

468 = :

PHP側でチェックしないというのはありえない
JavaScriptでのチェックをすり抜ける方法はあるからな

469 = :

getElementByIdでうまくいきました。

実際はselectタグじゃなくてinputタグで行っていたのですが、
キー入力しただけでは反応しなくて、
フォーカスが移動しないと、onchangeは働かないのですね。
リアルタイムな変更に対応するにはどうすればいいですか?

470 = :

document.styleSheetsって、確かブラウザ依存する定義だったよな

472 = :

>>469
漢字変換をしないならonkeyupで。するのなら定期的に中身を
取り出して前と変化したかどうか調べるしかない(ブラウザに
よって違うので、主要なブラウザどれでも動くとなるとそうなる)。

474 = :

AEやOEのような合字やアクサン付きのアルファベット等を、
その元となった文字とマッチングさせたい(文字列比較で同一の文字として扱いたい)のですが、
一覧を自前で保持する他に、組み込み関数等を用いた適当な方法はあるでしょうか。
ブラウザ/JavaScriptエンジン依存でも構いません。
Google Chromeのページ内検索だと、欧文合字どころか〼(ます)とか〆(しめ)とかまで引っかかるので
何かうまい方法があるのかと気になって……。

475 = :

望む結果を得たいなら、やはり自前しかないのでは。

476 :

運営しているサイトのユーザーさん向けにウィジェットを作ろうと思っているんですが、
こういうコードを貼りつけてもらう系のって、やっぱりjqueryとかのライブラリ使わずに
生javascript直書きで実装した方がよいでしょうか?

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

ご意見いただけると嬉しいです。

477 = :

そうだね。namespaseも一つにしてできるだけ衝突する可能性を敷く苦したほうがいい

480 = :

どうもありがとうございます
無名関数の外にあるものを取得する場合はこんな感じ?ですか?
javascript:(function(a){for(var i in window){a+=i+" : "}alert(a);})("");
もともとあるwindowのプロパティは拾わないようにするにはどうすればいいんでしょうか

482 = :

>>480
Firefoxなら 'propName' in window.__proto__ で元々持ってるプロパティを選別することができると思う
まとめると多分こんな感じ
javascript:(function(a){for(var i in window){if (!(i in window.__proto__))a+=i+" : "}alert(a);})("");

483 = :

作ったものだけ表示させることができました
どうもありがとうございます

485 = :

初歩的な質問なんですが、お願いします。

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


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

どういった方法を取るのが良いのでしょうか・・・アドバイス頂けないでしょうか

487 = :

>>485
aタグにIDをつけたらどうでしょうか?

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

<script type="text/javascript">
alert(document.getElementById('test'));
</script>

488 = :

>>487
それじゃHTMLAnchorElementでtoString()実行された結果の[object HTMLAnchorElement]しか表示されんだろ
(IE6やIE7は除く)

>>485
>>486 の方法に加えてtextContent(IE は innerText)も選択肢に含められると思う

489 = :

document.querySelector('div.hoge > p > h2 > a').textContent
pの中にh2とか馬鹿じゃね

490 = :

>>488
すいません 間違いました
alert(document.getElementById('test').href);

これでどうでしょう?

491 = :

>>488
文字列だったら
alert(document.getElementById('test').innerHTML);
ですね

492 = :

例えば(C)マークを表示するつもりで
element.appendChild(document.createTextNode("©"));
とすると、実際にはelementの中身は「©」になってしまいます。
本来の目的どおり「©」をappendChildするにはどうやればよいのでしょうか?

493 = :

まさかinnerHTMLで確認するなんて間抜けなことをしてないだろうな

495 = :

テキストノードなんだからエスケープなんかいらない
そのまま書け

496 = :

>>495
明快な回答ありがとうございます。

では改めて質問なんですが、
こういうキーボードから直接入力できない文字ってどうやって入力するんですか?
いちいちコピペ?

497 = :

os 依存のネタはそれ用の板で聞けよ

500 = :

あれか、漢字を直接入力できるキーボード使ってるのか、見てみたいぜ


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

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


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