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

    私的良スレ書庫

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

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    501 : Name_Not - 2012/01/22(日) 21:25:20.25 ID:??? (-5,-28,-12)
    json2.jsだってそうだ
    502 : Name_Not - 2012/01/22(日) 21:25:58.74 ID:??? (+4,-30,-110)
    >>499
    そうだね。json2.jsもJSON.parse、JSON.stringifyがない時だけそれを定義するから、
    基本的にIE6,7以外ではネイティブのJSON.parseが使われるし、そうあるべき
    503 : Name_Not - 2012/01/22(日) 21:33:44.13 ID:??? (+3,-30,-43)
    どうしてもeval使いたくないよウワーンなら
    json_parse.jsも良いよ
    http://github.com/douglascrockford/JSON-js/blob/master/json_parse.js
    504 : Name_Not - 2012/01/22(日) 22:44:02.42 ID:??? (-1,-29,-47)
    ↑でjson2.js配布してるのは"eval is evil"の人だからな
    eval見るとわけもわからず大騒ぎするような人にはそう言っとけ
    505 : Name_Not - 2012/01/22(日) 23:22:50.24 ID:??? (+57,+29,-55)
    そこは json2.js で使っているから、おれも使ってもいいんだと考えるより、
    つかうんなら json2.js でやっているぐらいの慎重さが必要なんだなと考えるべきだろう。
    506 : Name_Not - 2012/01/23(月) 00:04:43.15 ID:??? (+1,-21,-13)
    まーたeval信者か
    507 : Name_Not - 2012/01/23(月) 00:45:24.10 ID:??? (+69,+29,-105)
    入門書見ながらJsの勉強しています。
    ネットショッピングを題材にした章をすすめているんですが
    ドロップダウンメニューで商品の個数を選択するとその隣のテキストボックスに
    商品個数x商品代金の小計が自動的に入るはずなんですがどうもうまくいきません。
    自分なりに見直しはかけてみたつもりなんですが、分からないので質問させてください。

    http://ideone.com/oz1LZ
    508 : Name_Not - 2012/01/23(月) 02:08:48.53 ID:??? (+19,-30,-72)
    function hoge(){
       jQueryのアニメなど
    }

    funcgion fufu(){
       hoge();
       fuge():
    }

    で、hoge終了後にfuge()を実行させたいのですが何か良い手は無いでしょうか?
    hogeのanimate({~~},function(){ fuge() })などあるんですが、この場合だとfuge以外の関数が使えないのでどうしたものかと
    509 : Name_Not - 2012/01/23(月) 02:24:42.83 ID:??? (+4,-30,-58)
    >>508
    function hoge(callback) {
      // animateのコールバック関数でcallbackを実行する
    }

    function fuga() {
      hoge(fuga);
    }
    510 : 508 - 2012/01/23(月) 03:20:20.88 ID:??? (-2,-30,-18)
    試してみたのですが

    function hoge(callback){
       animate({~~},function(){

    })
    }
    511 : Name_Not - 2012/01/23(月) 03:22:28.21 ID:??? (+9,-30,-131)
    試してみたのですが

    function hoge(callback){
       animate({~~},function(){
          callback
       })
    }
    function a(){
       alert(1);
    }
    function fuga(){
       hoge(a())

    }

    とやってもナゼか終了後ではなく最初にalertが実行されるという事態に
    callbackの部分をalert(1)に変えるとちゃんと終了後になるんですが、なんででしょ?コレは
    512 : Name_Not - 2012/01/23(月) 03:33:07.51 ID:??? (+0,-27,-13)
    > hoge(a())
    コールバックに引数持たせたいのか?
    持たせること可能だっけ?
    513 : Name_Not - 2012/01/23(月) 04:29:31.34 ID:??? (+4,-30,+0)
    >>511
    > hoge(a())
    この時点でaを実行し、その戻り値を実引数にしてしまっている
    単に関数オブジェクトを渡さねばならない

    そしてanimateのコールバック内でcallbackを実行していない(()をつけていない)
    あるいはcalbackを直接animateに渡せばよい

    以下は、#box要素をクリックする度に右に100px移動した後alertという例(jQuery)

    http://jsfiddle.net/Q8wgg/

    <div id="box" style="width:100px;height:100px;background:orange;position:relative;left:0;"></div>
    <script>
    function move(callback) {
      $('#box').animate({left:'+=100px'}, 'slow', 'swing', callback);
    }

    $('#box').click(function (evt) {
      move(function () {
        alert('complete');
      });
    });
    </script>
    514 : Name_Not - 2012/01/23(月) 04:38:31.87 ID:??? (+48,-30,-65)
    >>507
    > onchange = document.form01.kei02.value = 500*selectedIndex>
    onchange="~">とすべし

    そして
    > <script language = "javascript">
    > document.myimg.src
    > setTimeout("changeimage()",1000);
    こんな本はブックオフで売って、もっと新しい本を買おう
    515 : Name_Not - 2012/01/23(月) 04:51:11.40 ID:??? (+18,-30,+0)
    初心者なのですが、だいぶハマってしまいましたので、こちらで質問させてください。
    ajaxで取得した下記xmlファイルについてですが、
    <![CDATA[ ~ ]]>内にあるbodyタグの値が取り出せません。
    alert(str);を実行すると<body>~</body>は表示できるのですが、
    セレクタで<body>を指定すると見つからないようです。// &(str).find("body").length → 0
    何か良い手はありますか?

    ○ソース
    $(function(){
     $.ajax({
      url:"sample.xml",
      dataType: 'xml',
      success : function(data){
        var str = $(data).find("hoge").text();//hogeタグのテキストを取得
        alert($(str).find("piyo").text()) // "success"
        alert($(str).find("body").text()); // 何も表示されない
      }
     });
    });

    ○sample.xml
    <?xml version="1.0" encoding="utf-8" ?>
    <hoge>
    <![CDATA[
     <huga>
      <piyo>success</piyo>
      <body>failed</body> 
     </huga>
    ]]>
    </hoge>
    516 : 515 - 2012/01/23(月) 05:02:13.56 ID:??? (+3,-30,-142)
    すみません、訂正です。
    ×&(str).find("body").length
    ○$(str).find("body").length

    ×alert($(str).find("piyo").text())
    ○alert($(str).find("piyo").text());
    517 : Name_Not - 2012/01/23(月) 05:04:39.71 ID:??? (+5,-25,-44)
    >>515
    正規表現マッチでStringとして取り出せるがxmlに対する適切な方法は知らない
    518 : Name_Not - 2012/01/23(月) 05:31:39.03 ID:??? (-8,-30,-64)
    >>515
    $(str)の strはHTMLとして解釈されるから、それが影響してるんじゃないかな。
    $.parseXML を使えばいいと思うよ。
    $($.parseXML(str)).find~ みたいな感じ。

    519 : Name_Not - 2012/01/23(月) 05:39:29.86 ID:??? (+62,+29,-105)
    jQueryの構文見るとイライラする病を治したいのだけどどうしたらいいですか?教えてください
    無理にでも使わないといけないんですがまじで重症です
    jQueryの構文嫌いがなんとかjQueryを好きになる方法を考えてあげて下さい
    520 : Name_Not - 2012/01/23(月) 05:43:39.68 ID:??? (+52,+29,-15)
    CSSを楽しめよ坊や
    521 : Name_Not - 2012/01/23(月) 05:45:35.30 ID:??? (+36,-30,-92)
    更新ボタンでホームページを読み込ませるとき出来ればfirefoxだけスーパーリロードを強制させたいのですが
    JavaScriptのHTMLの記述はどうしたらいいでしょうか?
    。ググってでてきた以下では、すべてのブラウザで普通のリロードになってしまいます。宜しくお願いいたします。

    <head>
    <script type="text/javascript">
    <!--
    function refresh() {
    window.location.reload(true);
    }
    // -->
    </script>
    </head>
    522 : Name_Not - 2012/01/23(月) 05:46:47.41 ID:??? (+57,+29,-36)
    書き忘れましたが、「更新ボタン」はブラウザの更新ボタンの事でページにボタンを表示させたりではないです。
    523 : Name_Not - 2012/01/23(月) 08:41:45.89 ID:??? (+69,+29,-28)
    なんでおまえらそんなにeval嫌うんだ

    >>521
    その方法は嘘
    metaタグ使え
    525 : Name_Not - 2012/01/23(月) 09:05:39.11 ID:??? (+57,+29,-36)
    おま……

    それくらいは自分で調べろよ
    じゃないとjQueryはできてもいつまでたってもJavaScriptができるようにならんぞ
    526 : Name_Not - 2012/01/23(月) 09:06:03.05 ID:??? (+57,+29,-19)
    > なんでおまえらそんなにeval嫌うんだ
    ロクにチェックもできない脳弱PGの言い訳
    527 : Name_Not - 2012/01/23(月) 09:21:41.97 ID:??? (+3,-29,-93)
    今回の件でも分かったじゃん。盲目的にeval使ってたら自分が扱ってるJSONが正当でない
    ことにいつまでも気づかないでしょ。基本JSON.parse使って、しかたないときは注意しつつ
    evalを使うというので正解だったよね。
    528 : Name_Not - 2012/01/23(月) 09:27:41.11 ID:??? (-1,-29,-104)
    サーバーにおいてあるJSONテキストをAjaxで取得するってことじゃないの?
    JavaScriptでしか使わないのならevalでparseできる範囲で正式なJSONじゃなくてもよくないかな?
    529 : Name_Not - 2012/01/23(月) 09:40:51.99 ID:??? (+3,-28,-22)
    不正なJSONをサーバーに置く必要性がわからんが
    530 : Name_Not - 2012/01/23(月) 09:42:50.99 ID:??? (+7,-29,-65)
    >しかたないときは注意しつつeval
    これは間違い
    注意しつつでは無く正しいか検証してからだ
    eval is evilのdouglascrockfordも必要な時もあるとしてる。
    でもそれらは大抵の場合コードが悪いからとも書き加えてる。
    531 : Name_Not - 2012/01/23(月) 09:52:40.31 ID:??? (-1,-29,-64)
    >>529
    JSONの意味知ってる?
    evalでparseできれば広義のJSONだし何も問題ないでしょ

    結局は>>530でFA
    532 : Name_Not - 2012/01/23(月) 10:03:09.41 ID:??? (-4,-27,-21)
    JSONの意味の議論でもしたいの?
    533 : Name_Not - 2012/01/23(月) 10:22:42.60 ID:??? (+57,+29,-78)
    JSONだってちゃんとした仕様あるんだからそれ以外はJSON風でしかないぞ。
    仕様通りなJSONであれば他言語への流用も効くんだし。
    534 : Name_Not - 2012/01/23(月) 10:30:49.19 ID:??? (+2,-25,-31)
    JSON風で何が悪い
    広義のJSONだ
    535 : Name_Not - 2012/01/23(月) 10:40:33.89 ID:??? (+52,+29,+0)
    わかったわかった
    536 : Name_Not - 2012/01/23(月) 10:44:46.39 ID:??? (+57,+29,-22)
    JSONの最期は溺れた湖に沈んで終わりだっけ?
    537 : Name_Not - 2012/01/23(月) 10:46:02.45 ID:??? (+27,+4,-21)
    新定義「広義のJSON」
    538 : Name_Not - 2012/01/23(月) 10:48:20.39 ID:??? (+42,-24,-58)
    JSONはRFCやECMAScriptで仕様が決まっているので、広義のJSONなどという曖昧なものはない
    JavaScriptのオブジェクトリテラルのことを言いたいのだと思うけど、勝手にオレオレ用語を作らないほうがいい
    539 : Name_Not - 2012/01/23(月) 10:57:22.11 ID:??? (+20,-7,-17)
    JSONはコメントぐらい許容してほしいな
    540 : Name_Not - 2012/01/23(月) 11:14:54.66 ID:??? (+63,+29,-23)
    >>538
    だからそういう仕様にそったものは狭義のJSONっていうんだよ
    頭悪いなお前
    541 : Name_Not - 2012/01/23(月) 11:22:19.76 ID:??? (+0,-28,-57)
    広義のJSONの定義がいまいちわからんが
    JSのevalで通る物なら関数も書けるな
    542 : Name_Not - 2012/01/23(月) 12:03:08.63 ID:??? (+57,+29,-30)
    そりゃ自分専用用語作れば議論に敗けないつもりになれるだろうよ。
    迷惑だからこゆとこに書き込むのは遠慮頂きたいもんだね。
    543 : Name_Not - 2012/01/23(月) 12:17:28.92 ID:??? (+12,-30,-64)
    var a = "abc tesr";
    var b = " abc testr";

    文字列の 一番最初に現れる単語([a-z]+)のみ取得するにはどのようなメソッドを使えばよいのでしょうか?
    544 : 543 - 2012/01/23(月) 12:18:51.56 ID:??? (-2,-30,-54)
    補足
    var a = "abc tesr";
    var b = " abc testr";

    初めに現れる単語の
    前に現れる空白は0個以上
    後に現れる空白は1以上です
    545 : Name_Not - 2012/01/23(月) 12:48:10.29 ID:??? (+76,+29,-19)
    正規表現のお勉強をするべきですね。ただ教えたって何も身につかんでしょ。
    546 : Name_Not - 2012/01/23(月) 12:49:23.80 ID:??? (-1,-29,-3)
    replaceとmatchを使う以外に方法は無いのですか?
    547 : Name_Not - 2012/01/23(月) 12:58:54.00 ID:FiCWcl31 (+38,+29,-23)
    >>545
    そりゃ一文字ずつ見てって条件分岐することも出来なかないけど
    正規表現使ったほうが簡単じゃね?
    548 : Name_Not - 2012/01/23(月) 12:58:55.41 ID:??? (+2,-29,+0)
    split使えばいい
    a.split(' ')[0]
    549 : Name_Not - 2012/01/23(月) 13:00:10.17 ID:??? (+62,+29,-77)
    と思ったけど

    初めに現れる単語の
    前に現れる空白は0個以上
    後に現れる空白は1以上です

    この仕様から
    " abc def"もありえるって事だよな
    まぁその場合trimしてからsplitしろって事になるけど
    550 : Name_Not - 2012/01/23(月) 13:13:32.93 ID:??? (+0,-28,-23)
    trimって標準のメソッドなの? ES3仕様を確認しようとしたら見つけられない。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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