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

    元スレJavaScript ライブラリ総合質問所 vol.4

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

    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変わった時に
    一箇所変えるだけでよくなるというメリットがないこともないなと思ってる


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

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


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