Как в CSS представить Xpath локатор //ul[@id='phone_list']/li[descendant::*/span/text()="Text"] ?
нет так не получиться, потому что CSS не умеет работать с текстовыми нодами, а точнее работает только с элементами.
потому все что можно получить это
{syntaxhighlighter brush: css;fontsize: 100; first-line: 1; }ul[id="phone_list"]>li * span{/syntaxhighlighter}
это будет соответствовать
{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }//ul[@id='phone_list']/li[descendant::*/span]{/syntaxhighlighter}
Правда в CSS2 была такая функция :contains(), которую можно было бы использовать, она именно смотрим в текстовые ноды, но в CSS3 ее не стало :(
З.Ы. линкм по CSS http://css.maxdesign.com.au/selectutorial/index.htm, http://www.w3.org/TR/css3-selectors/, http://api.jquery.com/contains-selector/
Вот и я так голову поломал, и получилось аналогичное. Все таки CSS не везде заменяет xpath.
По поводу contains(), эта функция работает, но она берет наличие текста в теге, как это может помочь?
ну если contains() работает, то выражение должно выглядеть как
{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }ul[id="phone_list"]>li * span:contains('Text') {/syntaxhighlighter}
ul#
phone_list
>li * span:contains(
'Text'
)
так мне кажется будет красивее
но это все равно не правильно, ибо икспаз в прbмере селектит элемент li а не span
Автор, а можно кусок html для примера?