元スレJavaScript ライブラリ総合質問所 vol.4
JavaScript覧 / PC版 /みんなの評価 :
851 = :
そりゃそうだろ
852 = :
それは語弊がないか?
jQueryはDOMの全てをカバーしてるわけじゃない
例えばテキストノード操作に関してはかなり貧弱
853 = :
テキストノードの操作って何が必要なんだ?
855 = :
だから他に何が必要なんだ?
DOMにある機能で。
856 = :
dataプロパティとか、テキストノードをreplaceChildとか
857 = :
そもそも、jQueryではテキストノードを選択できないな
858 = :
テキストノードは、idもclassも付けられないんだから
選択しようがないと思うが。
DOMでも選択はできないよね?
DOMでできることはchildNodesで列挙して行くことなわけで、
それと同じことならjQueryではcontents()で可能
DOMで選択はできないが、childNodesで列挙することはできる。
それをjQueryではcontents()で出来る。
だから「DOMでできることはjQueryでもできる」は間違いじゃないよ。
859 = :
jQueryが便利すぎて別言語に思うこともあるけど、ただのライブラリなんだよな
860 = :
>>858
> DOMでも選択はできないよね?
DOM ならテキストノードを参照できる
XPath の text() を使ってもいいし、要素ノードから firstChild や childNodes を辿ってもいい
862 = :
例えば、こういうコードは jQuery だけでは書けない
http://jsfiddle.net/eh65ytw3/
Text#data や TEXT_NODE の replaceChild に成り代わるものが jQuery API には存在しない
863 = :
>>862
jQuery を使うならこうかな
http://jsfiddle.net/eh65ytw3/1/
DOM API を使わないと書けそうにないね
864 = :
jQuery の場合、要素ノード操作に特化しすぎてる感があるな
Node#firstChild, Node#lastChild, Node#nextSibling, Node#preventSibling 等の足りないAPIが多すぎる
865 = :
まあDOM APIを使ったとしてもテキストノードは扱いづらいからな
<span>で囲めばいいだけの話だし、jQueryがテキストノード操作を捨てるのは妥当だと思うよ
「DOMでできることは jqueryでもできる」とは言えないだろうが、それは当たり前。
よく使う操作を楽にするのがライブラリの本領だから。
866 = :
昔(1.2より前)はxpathのセレクタもサポートしていたみたいだけどね
でもテキストノードを選択出来たとしても、jQueryのメソッドが
要素と同じように適用できるとは思えないけれど
867 = :
結局、jQueryではテキストノード操作は出来ないのか
テキストノードが選択できないといったり、テキストノード操作が出来るといったり、彼の主張は前言撤回が多すぎて説得力ゼロだな
868 = :
>>866
> でもテキストノードを選択出来たとしても、jQueryのメソッドが
> 要素と同じように適用できるとは思えないけれど
当たり前じゃね? テキストノードっていうのは
要素じゃないんだから、それはそもそもDOMの問題だ。
869 = :
DOM要素単位で扱うものなんだから
ノード操作が出来ないのは当たり前だろ
870 = :
.text() で値は取れるな (.nodeValue が返される模様)
セットはできないけど
872 = :
JavaScriptでマシン語が使えないの?って言ってるようなものだろ
873 = :
jQueryのソース見ると、こんな感じでnodeTypeみて処理しているから、
何かしらの意味があってやってるんじゃないかな。
text: function( value ) {
return access( this, function( value ) {
return value === undefined ?
jQuery.text( this ) :
this.empty().each(function() {
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
this.textContent = value;
}
});
}, null, value, arguments.length );
},
874 = :
>>872
プリコンパイルされたライブラリとか欲しいね
まあプラグイン経由とかだったり署名付けたりとか色々と面倒そうだけど
875 = :
DOM APIを使った事がなくてjQueryで何が出来るか知らない人が何でも出来るとほらを吹いただけか
876 = :
>>875
お前jQueryに親でも殺されたの?
877 = :
>>873
それの jQUery.text(this) の所が取得側なんだけど
jQuery.text = Sizzle.getText;
ってなってて Sizzle.getText;では
} else if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}
こういう部分があるね
これでテキストノードでも値が取れる
878 = :
>>876
JavaScriptスレでも暴れていたし、jQuery信者をうざいと思ってる人は相当数いるんじゃない?
879 = :
>>877
それはSizzleだから対応しているって感じでいいのかな?
Sizzleだと取得しか必要ない気がするし。
SizzleのCSS4対応ってどうなるんだろうか。
一応するみたいだが、そもそもCSS4がまだ使用が固まってないんだっけ?
http://github.com/jquery/sizzle/issues/237
CSS4でもテキストノードを選択する方法はないのかな?
880 = :
>>878
俺の知る限り、一人が過剰に拒否しているだけに見えるね。
881 = :
CSS: Selecting text nodes (as with XPath’s text())
http://www.opinionatedprogrammer.com/2011/01/css-selecting-text-nodes-as-with-xpath-text/
> There used to be a :contains() pseudo-class for this in a CSS 3 draft, but it’s gone.
ほー、どうやらCSS3の仕様として:contentsというのがあったらしい。
けど無くなったと。だれか経緯しらない?
882 = :
あ、なんか勘違いか。
883 = :
>>880
反応するかは別として回答の質を落としてるのは間違いないな
884 = :
それはjQueryを使わない回答をする奴がいないのが悪いんだろう?
885 = :
jQueryを使った回答でもあるだけありがたいよ。
簡潔に書いた動く擬似コードだと思って
それをDOM APIに置き換えればいいだけの話だし。
一番うざいのが、jQuery信者がーとかいいだすやつ。
いつもあいつをきっかけに荒れる。
886 = :
>>884
>>858のようなjQuery方面だけに知識が偏っていて間違った回答なら無いほうがマシです
質問しても変な方向に切り返してきていちいち訂正するのが面倒くさいです
無視したら誠実さを疑われるのでスルーするわけにもいかないですし
それから、jQuery以外の回答もjQuery信者がスレに張り付いているのでjQueryの回答だけ目立って見えるだけで普通にあります
たくさんの間違った知識で答えるjQueryの回答よりも確かな知識で回答してくれる一人の回答の方が何倍も価値があります
887 = :
>>886
つまり、間違った回答じゃなければOKだよね?
逆に間違った回答なら、DOMでもNGだよね。
888 = :
シンプルな質問
googoleメールや
twitterくらいあんとみたいな
動的なサイトなら
jqueryでバリバリ作れるってことだよね?
889 = :
はい
891 = :
一時的なものでした
893 = :
document.getElementById("content").firstChild
$('#content :first-child')
895 = :
>>894
そんなことやっても、
一回あたり0.1ミリ秒未満しか高速化出来ないけど、
その処理何回実行されるの?
898 = :
質問を無視しないでください。
899 = :
知らんがな
900 = :
変数に入れておけば後でid変わった時に
一箇所変えるだけでよくなるというメリットがないこともないなと思ってる
類似してるかもしれないスレッド
- JavaScript ライブラリ総合質問所 vol.5 (344) - [97%] - 2022/3/14 17:45
- jQuery ライブラリ 総合質問所 vol.4 (986) - [78%] - 2016/1/12 15:15
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [75%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.2 (986) - [75%] - 2013/5/20 7:00
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [75%] - 2012/10/8 22:30
- [JavaScript]プログラム作成します (981) - [37%] - 2010/12/8 21:02
トップメニューへ / →のくす牧場書庫について