XPathをすごく長ったらしく書く
たとえば、Item - データベース: AutoPagerize - wedataのページのurlの欄をリンクにしたいとき。
短く書くと
var links=document.evaluate('//div[@class="entry-content"]//th[text()="url"]/following-sibling::td',document,null,7,null); for(var i=-1;link=links.snapshotItem(++i),i<links.snapshotLength;){ link.innerHTML='<a href="'+link.textContent+'">'+link.textContent+'</a>'; }
みたいな感じでできる。(本当はDOM:rangeとかつかったほうがいい。)
XPathの部分を長ったらしく書くと、
var links=document.evaluate('/descendant-or-self::div[string(attribute::class)="entry-content"]/table/tbody/tr/th[string(text())="url"]/following-sibling::td',document,null,7,null);
でいい感じ。何故長くしようと思ったのかは忘れた。
追記:urlの部分は正規表現だからurlをリンクにしたとしてもあまりうまくいかないことに気づいた。