元スレ+ JavaScript の質問用スレッド vol.84 +
JavaScript覧 / PC版 /みんなの評価 :
451 = :
>>444
> コンストラクタはプロパティのスナップショットをとるのにも使う
ぐぐってもわからなかったんだけど、どういうこと?
452 :
>>372
勉強になりました。ありがとう。
453 = :
onClickで文字を1px右や左に移動するスクリプトくれ
454 = :
455 = :
お願いします。
var str = "Hi, my name is Mike.";
のような文章をまずstr.split(" ")で配列にし、
最後の文字が","か"."で終わるものを探したいのですが、うまくいきません。
-----
var lastChar;
for (var i = 0, len = array.length; i < len; i++) {
lastChar = array[i].charAt(array[i].length - 1);
if (lastChar == "," || ".") {
alert(true);
} else {
alert(false);
}
}
このコードだと全てtrueになります。
if (lastChar == ...)の箇所に","か"."のどちらかひとつだけ指定すると、
それぞれ"Hi,"、"Mike."がtrueになり他のものはfalseになります。
"." || "," と、二つ指定すると全てtrueになってしまうのは何故でしょうか?
よろしくお願いします。
456 = :
lastChar == "," || "." の評価は、
lastCharが","だった場合 true、
違う場合"." → ifの中ではtrueと評価される
つまりこうしろってこと
lastChar == "," || lastChar == "."
もしくは正規表現で
/[,.]$/.test(array[i])
457 = :
ajaxの質問ってここでしていいですか?
以下のプログラムはwebサーバーソフトでlocalhostに
アクセスしなくても動くのは何故ですか?
<html><head><title>XMLHttpRequest()の基本</title>
<script type="text/javascript">
function loadTextFile()
{httpObj = new XMLHttpRequest();
httpObj.onload = displayData;
httpObj.open("GET","data.txt",true);
httpObj.send(null);}
function displayData(){
document.ajaxForm.result.value = httpObj.responseText;}
</script>
</head>
<body>
<h1>XMLHttpRequest()の基本 (IE以外)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="40" rows="5"></textarea>
</form></body>
</html>
458 = :
続き
IE用ではwebサーバーソフトでlocalhostにアクセスでないと動きません。
これはXMLHttpRequest()とActiveXObject("Microsoft.XMLHTTP")
の違いですか?
<html><head><meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>XMLHttpRequest()の基本(Win IEの場合)</title>
<script type="text/javascript">
function loadTextFile()
{httpObj = new ActiveXObject("Microsoft.XMLHTTP");
httpObj.onreadystatechange = statusCheck;
httpObj.open("GET","data.txt",true);
httpObj.send(null);}
function statusCheck()
{if ((httpObj.readyState == 4) && (httpObj.status == 200))
{displayData();}}
function displayData(){
document.ajaxForm.result.value = httpObj.responseText;}
</script></head><body>
<h1>XMLHttpRequest()の基本 (Win IEの場合)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="40" rows="5"></textarea></form></body></html>
461 = :
jQueryで、要素をjQueryオブジェクトにして格納した変数に
別の要素も対象範囲に追加する方法はありますか?
<p id="id1">aaa</p>
<p id="id2">bbb</p>
<p id="id3">ccc</p>
$(function(){
var t = $("#id1");
t.append($("#id3"));
t.css("background", "#00FF00");
})
こうしたらaaa,cccの背景色は変わりましたが、p要素の順番が上からaaa、ccc、bbbになってしまい駄目で
t.add()をしてみてもcccが追加されないのかaaaしか背景色は変わりませんでした
462 = :
jqueryすれってム板にあるけど本来はこっちとあっちどっちの話題?
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
463 = :
本来はこっちの板だと思う。。。
464 = :
>>461
var t = $("#id1");
t = $(t.selector + ", #id3");
t.css("backgroundColor", "#00FF00");
$("#id1, #id3").css("backgroundColor", "#00FF00");
と何も変わらないけどね
465 = :
> t.append($("#id3"));
p要素を子にしちゃいかんだろ。
var t = $("#id1");
t[t.length] = $("#id2")[0];
t.length += 1;
t[t.length] = $("#id3")[0];
t.length += 1;
t.css("background", "#00FF00");
当たり前のことを言うようだけど、tはjQueryオブジェクトであって配列オブジェクトじゃない。
生成したインスタンスにDOM要素を追加したいなら地道にやるしかない。
466 = :
>>464-465
どうもありがとうございました!
考えていた方法では、if文を使ってid3のような一部の要素をid1要素との一斉処理する対象に含める/含めないの処理をしたかったんです
とても勉強になりました!
467 = :
>>462-463
ここはJavaScriptのスレだから、個人的にはjquery固有の質問は避けて欲しいなあ
468 = :
個人意見なら無視でいいな
469 = :
その理屈でいくと「無視でいい」も無視することになるわけだが。
470 = :
すればいいよ
みんな書きたいことかいてればいい
471 = :
アホのperl忍者が住み易いスレになる訳ですね
472 = :
jQueryに文句は言えんな、いちおうスレチではないし
473 = :
jQueryの質問は専用のスレにしたら?
474 = :
自治厨氏ね
475 = :
>>467
板はここってだけで
jQueryはスレチ
板とスレッドの区別ついてるか('A`)?
477 = :
jQueryの質問が多くなって一般の質問と分けたくなったら
その時はjQueryスレを建てて独立させればいいんじゃないの。
今のところ混ざっていてもよさそうに思えるけどいかが。
jQueryもJavaScriptだ、というのはちょっとまずいんじゃないの。
ありとあらゆるJavaScript用ライブラリの話題があふれてきて
分けたくなった時にも同じことを言うわけ?
478 = :
将来の仮定なんか今関係ないだろ
479 = :
それはあなたの意見ですね。まあ、今分けなくてもいいという
結論が一緒なら別にそれでいいのでは。
481 = :
自分の意見が一番でないと気に食わないというお子ちゃまが
いるようだな。おお、2ちゃんらしい煽りだ。
482 = :
両方使えばいいか
483 = :
そのスレが必要であり続けるのなら制作板の方が良さそうだね。
自分には興味ないんでそのスレの人たちで決めたらいいんでないの。
484 = :
そのスレも一応チェックして解答したりはしてるけど
いつたったスレの事を言ってんだよって話
しかも単発っぽい奴が立てたスレだろ
再利用してるだけまだましじゃないか
485 = :
iframe(同一サーバ内)が複数あるページで、
個々のフレーム全てにイベント設定をするにはどうすればいいでしょうか?
例えば、フレームの名前が一意に指定されている場合は、以下で動きます。
window["HOGE"].document.onmouseup = hoge;
しかし、ページ内に存在する全てのiframeタグにイベントを指定...以下では動きません。
var fs = document.getElementsByTagName("iframe");
for (var e in fs) {e.document.onmouseup = hoge;}
複数のフレーム内への指定の仕方が根本的に間違っているのかと思いますが、
正解がわかりません。どのように記述したら良いですか?
486 = :
var fs = document.getElementsByTagName("iframe"), i;
for(i = 0; i < fs.length; i++){
fs[i].contentWindow.document.body.onmouseup = hoge;
}
根本的に間違ってますね
488 = :
俺Perl忍者さんほどレベル高くないから無理だわ
一杯勉強していつか手伝いたい
489 = :
俺はwindowsだからやめとくわ
491 = :
>>486
ありがとうございました。framesを使ってできました。
FirefoxではcontentWindowが使えませんでしたが、良いヒントにはなりました。
492 = :
>>491
contentWindowはFirefoxでも使えると思ったけど俺の勘違いなのか
493 = :
var xhr = function(url){
var req = new XMLHttpRequest();
req.addEventListener("load", function(e){
parse(e, url);
}, false);
req.open("GET", url, true);
req.send(null);
}
var parse = function(e, href){
var fragment = document.createDocumentFragment(), base = document.createElement("base"), block = document.createElement("div");
base.setAttribute("href", href);
fragment.appendChild(base);
fragment.appendChild(block);
block.innerHTML = e.target.responseText;
fragment.querySelectorAll("a"); // このhref属性が欲しい
console.log(fragment);
}
xhr("http://example.com/test2/");
階層の異なるURLから取ってきたHTMLに含まれた相対URLを階層を考慮して解決させたいのですが
どのようにしたらいいのでしょうか。
494 = :
単純に文字列結合しちゃダメ?
"http://example.com/test2/"+"./hoge.html"
"http://example.com/test2/"+"../hoge2.html"
で
495 = :
>>492
contentWindowはDOM2 HTMLには含まれていない→IE専、らしい。
496 = :
自己解決しました
document.baseURIはdocument.write時にのみ設定可能なようでiframeを使って文書を作り要素を追加してます
innerHTMLでパース済みのa要素はリンクが解決済みで使えないので要素を作り直すようにしました
var parse = function(e, href){
var fragment = document.createDocumentFragment(), block = document.createElement("div"), iframe = document.createElement("iframe"), links = [];
fragment.appendChild(block);
block.innerHTML = e.target.responseText;
document.body.appendChild(iframe);
iframe.contentDocument.open();
iframe.contentDocument.write("<base href='" + href + "' />");
iframe.contentDocument.close();
links = Array.slice(fragment.querySelectorAll("a[href]"));
links.forEach(function(e){
var a = document.createElement("a");
a.setAttribute("href", e.getAttribute("href"));
iframe.contentDocument.body.appendChild(a);
});
iframe.contentDocument.getElementsByTagName("a"); // OK!
document.body.removeChild(iframe);
};
>>494
絶対URLも混ざっていて、相対URLの処理も完全に処理しようとすると非常にコードが長くなってしまうので使用したく無かったのです。
499 = :
http://www.mofa.go.jp/__utm.js
これは何をするスクリプトですか?
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.94 + (1001) - [97%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.134 + (1001) - [95%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.104 + (1001) - [95%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.142 + (984) - [95%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.114 + (1001) - [95%] - 2014/5/3 10:45
トップメニューへ / →のくす牧場書庫について