2016-07-27 1 views
1

У меня есть этот селектор CSS:Как исключить внутренний webelement с помощью селекторов css?

$("td.cv-table-panel-element") 

, который возвращает список элементов, как он появляется на скриншоте ниже:

List of elements returned by selector

Все эти элементы являются столбцы таблицы и содержание каждого столбца отличается. Первый элемент в этом списке содержит флажок:

Contents of the first element

Я хочу, чтобы исключить этот элемент из первоначального списка.

Обратите внимание, что просто игнорирование первого элемента не будет работать здесь, поскольку этот элемент флажка не является согласованным и не всегда появляется. Следовательно, он должен быть исключен специально одним из его внутренних классов.

Я попытался следующие без везения:

$("td.cv-table-panel-element:not(.cv-checkbox)") 

Любые предложения?

+2

Вы должны быть очень специфичны ли вы ищете JQuery или селектор CSS. jQuery имеет ряд специальных функций селектора, которые несовместимы с большинством реализаций селектора CSS, таких как Selenium (на основе использования вами термина «веб-элемент» в вашем вопросе), если только вы не используете jQuery-специфический драйвер. – BoltClock

+0

Большое спасибо за ваш комментарий. Ваше наблюдение действительно верно, я использую его для автоматизации Selenium. И на самом деле мне не хватает понимания в отношении различий между jQuery и селекторами CSS. Если бы вы могли указать мне на некоторые источники, где я могу обойти обе эти концепции, я буду благодарен! Еще раз спасибо. –

ответ

1

Вот чистый вариант CSS:

td.cv-table-panel-element:not([align="center"]) 

Этот селектор использует :not functional notation и attribute selector.

Вот пример:

/* td elements are red */ 
 
.cv-table-panel-element { background-color: red;} 
 

 
/* td elements that DO NOT have the align="center" attribute are blue */ 
 
.cv-table-panel-element:not([align="center"]) { background-color: aqua; } 
 

 
td { height: 100px; width: 100px; }
<table> 
 
    <tr> 
 
    <td class="cv-table-panel-element"></td> 
 
    <td class="cv-table-panel-element"></td> 
 
    <td class="cv-table-panel-element" align="center"></td> 
 
    <td class="cv-table-panel-element"></td> 
 
    <td class="cv-table-panel-element" align="center"></td> 
 
    </tr> 
 
</table>