元スレ+ JavaScript の質問用スレッド vol.96 +
JavaScript覧 / PC版 /みんなの評価 :
502 = :
>>499
そうだね。json2.jsもJSON.parse、JSON.stringifyがない時だけそれを定義するから、
基本的にIE6,7以外ではネイティブのJSON.parseが使われるし、そうあるべき
503 = :
どうしてもeval使いたくないよウワーンなら
json_parse.jsも良いよ
http://github.com/douglascrockford/JSON-js/blob/master/json_parse.js
505 = :
そこは json2.js で使っているから、おれも使ってもいいんだと考えるより、
つかうんなら json2.js でやっているぐらいの慎重さが必要なんだなと考えるべきだろう。
506 = :
まーたeval信者か
507 = :
入門書見ながらJsの勉強しています。
ネットショッピングを題材にした章をすすめているんですが
ドロップダウンメニューで商品の個数を選択するとその隣のテキストボックスに
商品個数x商品代金の小計が自動的に入るはずなんですがどうもうまくいきません。
自分なりに見直しはかけてみたつもりなんですが、分からないので質問させてください。
http://ideone.com/oz1LZ
508 = :
function hoge(){
jQueryのアニメなど
}
funcgion fufu(){
hoge();
fuge():
}
で、hoge終了後にfuge()を実行させたいのですが何か良い手は無いでしょうか?
hogeのanimate({~~},function(){ fuge() })などあるんですが、この場合だとfuge以外の関数が使えないのでどうしたものかと
509 = :
>>508
function hoge(callback) {
// animateのコールバック関数でcallbackを実行する
}
function fuga() {
hoge(fuga);
}
511 = :
試してみたのですが
function hoge(callback){
animate({~~},function(){
callback
})
}
function a(){
alert(1);
}
function fuga(){
hoge(a())
}
とやってもナゼか終了後ではなく最初にalertが実行されるという事態に
callbackの部分をalert(1)に変えるとちゃんと終了後になるんですが、なんででしょ?コレは
512 = :
> hoge(a())
コールバックに引数持たせたいのか?
持たせること可能だっけ?
513 = :
>>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 = :
>>507
> onchange = document.form01.kei02.value = 500*selectedIndex>
onchange="~">とすべし
そして
> <script language = "javascript">
> document.myimg.src
> setTimeout("changeimage()",1000);
こんな本はブックオフで売って、もっと新しい本を買おう
515 = :
初心者なのですが、だいぶハマってしまいましたので、こちらで質問させてください。
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 = :
すみません、訂正です。
×&(str).find("body").length
○$(str).find("body").length
×alert($(str).find("piyo").text())
○alert($(str).find("piyo").text());
517 = :
>>515
正規表現マッチでStringとして取り出せるがxmlに対する適切な方法は知らない
519 = :
jQueryの構文見るとイライラする病を治したいのだけどどうしたらいいですか?教えてください
無理にでも使わないといけないんですがまじで重症です
jQueryの構文嫌いがなんとかjQueryを好きになる方法を考えてあげて下さい
520 = :
CSSを楽しめよ坊や
521 = :
更新ボタンでホームページを読み込ませるとき出来ればfirefoxだけスーパーリロードを強制させたいのですが
JavaScriptのHTMLの記述はどうしたらいいでしょうか?
。ググってでてきた以下では、すべてのブラウザで普通のリロードになってしまいます。宜しくお願いいたします。
<head>
<script type="text/javascript">
<!--
function refresh() {
window.location.reload(true);
}
// -->
</script>
</head>
522 = :
書き忘れましたが、「更新ボタン」はブラウザの更新ボタンの事でページにボタンを表示させたりではないです。
523 = :
なんでおまえらそんなにeval嫌うんだ
>>521
その方法は嘘
metaタグ使え
525 = :
おま……
それくらいは自分で調べろよ
じゃないとjQueryはできてもいつまでたってもJavaScriptができるようにならんぞ
526 = :
> なんでおまえらそんなにeval嫌うんだ
ロクにチェックもできない脳弱PGの言い訳
527 = :
今回の件でも分かったじゃん。盲目的にeval使ってたら自分が扱ってるJSONが正当でない
ことにいつまでも気づかないでしょ。基本JSON.parse使って、しかたないときは注意しつつ
evalを使うというので正解だったよね。
529 = :
不正なJSONをサーバーに置く必要性がわからんが
530 = :
>しかたないときは注意しつつeval
これは間違い
注意しつつでは無く正しいか検証してからだ
eval is evilのdouglascrockfordも必要な時もあるとしてる。
でもそれらは大抵の場合コードが悪いからとも書き加えてる。
533 = :
JSONだってちゃんとした仕様あるんだからそれ以外はJSON風でしかないぞ。
仕様通りなJSONであれば他言語への流用も効くんだし。
534 = :
JSON風で何が悪い
広義のJSONだ
535 = :
わかったわかった
536 = :
JSONの最期は溺れた湖に沈んで終わりだっけ?
537 = :
新定義「広義のJSON」
538 = :
JSONはRFCやECMAScriptで仕様が決まっているので、広義のJSONなどという曖昧なものはない
JavaScriptのオブジェクトリテラルのことを言いたいのだと思うけど、勝手にオレオレ用語を作らないほうがいい
539 = :
JSONはコメントぐらい許容してほしいな
540 = :
>>538
だからそういう仕様にそったものは狭義のJSONっていうんだよ
頭悪いなお前
542 = :
そりゃ自分専用用語作れば議論に敗けないつもりになれるだろうよ。
迷惑だからこゆとこに書き込むのは遠慮頂きたいもんだね。
543 = :
var a = "abc tesr";
var b = " abc testr";
文字列の 一番最初に現れる単語([a-z]+)のみ取得するにはどのようなメソッドを使えばよいのでしょうか?
545 = :
正規表現のお勉強をするべきですね。ただ教えたって何も身につかんでしょ。
547 :
>>545
そりゃ一文字ずつ見てって条件分岐することも出来なかないけど
正規表現使ったほうが簡単じゃね?
548 = :
split使えばいい
a.split(' ')[0]
549 = :
と思ったけど
初めに現れる単語の
前に現れる空白は0個以上
後に現れる空白は1以上です
この仕様から
" abc def"もありえるって事だよな
まぁその場合trimしてからsplitしろって事になるけど
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.94 + (1001) - [97%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [95%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [95%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.85 + (1001) - [95%] - 2011/4/25 21:32
トップメニューへ / →のくす牧場書庫について