FireFoxでXPathならdocument.evaluate

http://developer.mozilla.org/ja/docs/Introduction_to_using_XPath_in_JavaScript
MozillaXPathを使うならこんなん。

res = document.evaluate('xpath_query', document, null, XPathResult.ANY_TYPE, null );
res.iterateNext();
res.value;

アサマシリンク文字列生成bookmarklet

javascript:(function(){var assoc='foobar';var t=document.title;var linkString=t.substring(t.indexOf('jp')+4,t.indexOf(':'));var asin=document.evaluate("//form[@id='handleBuy']/descendant::input[3]", document, null, XPathResult.ANY_TYPE, null ).iterateNext().value;var amazonUrl='http://www.amazon.co.jp/dp/'+asin+'/'+assoc+'/ref=nosim';var link=linkString+'|'+amazonUrl;var x=prompt('',link)})();

とか書いたけど、XPath使わないで、idがASINの値をとればいいのか…。XPath使うのに夢中になっちゃったよ。

javascript:(function(){var assoc='foobar';var t=document.title;var linkString=t.substring(t.indexOf('jp')+4,t.indexOf(':'));var asin=document.getElementById('ASIN').value;var amazonUrl='http://www.amazon.co.jp/dp/'+asin+'/'+assoc+'/ref=nosim';var link=linkString+'|'+amazonUrl;var x=prompt('',link)})();