2012-03-02 6 views
0

私はdocument.createTreeWalkerを使っているプロジェクトについていくつかの研究をしていますが、私は非常に少数のxpathを使用するスクリプトを見ていますが、どこから来たのか不思議です。いくつかは明白で、[@AttributeName]や[@TagName]などのオンライン回答を見つけることができましたが、[@StoreName]、[@ AttributeValue1]、[@ AttributeValue2]オンラインで検索することができました。Javascript xPath [@StoreName]?

特に、私が理解し、これらの行を見ていないよ:

thisURL = window.document.location.href.toString(); 
if(thisURL.search("[@StoreName]") != -1) { //do something } 

答えて

1

を多分私はあなたの質問を誤解していますが、機能や構文的に異なる[@AttributeName][@StoreName]の間には何もありません。これらは両方とも、特定の属性を持つ要素を探している述語です。最初のものはAttributeNameの属性を探し、2番目のものはStoreNameの属性を探します。

つまり、表示しているコードは実際にはXPathの仕事をしていないという。 URLに文字列[@StoreName]がJavaScriptの文字列検索機能を使用しているかどうかを調べています。

+0

私はそれが正しいとは思わない。私はdev.my-local.comのような私のドメインの設定で、このコードをローカル環境に持っています。このjavascriptをページ上で実行すると、[@StoreName]が見つかることを意味する1が得られます。 'thisURL = window.document.location.href.toString(); アラート(thisURL.search( "[@ StoreName]")); ' StoreNameはどこにも見つからないので、どこから来ていますか? – Stanley

+0

これ以上のコードを見なければ言いにくいです...あなたは正しい2行スニペットを選んだが、2行スニペットは大きな絵を与えることはできません。実際に '[@StoreName]'をXPathとして実行し、実際に 'search()'が実行される前にシームレスに結果をドロップする前処理が行われているように聞こえるかもしれませんが、 – Pops