Я столкнулся с этой проблемой ... в моем случае у меня закончилось хранение на выделенном сервере. Убедитесь, что если все остальное не работает и рассматривается увеличение дискового пространства или удаление нежелательных данных или файлов.
Если я правильно прочитал спецификацию , то нет.
Вы можете сопоставить элемент, имя атрибута в элементе и значение именованного атрибута в элементе. Однако я не вижу ничего, что соответствовало бы содержимому элемента.
Вы можете установить контент как атрибут данных, а затем использовать селекторов атрибутов , как показано здесь:
/* Select every cell containing word "male" */
td[data-content="male"] {
color: red;
}
/* Select every cell starting on "p" case insensitive */
td[data-content^="p" i] {
color: blue;
}
/* Select every cell containing "4" */
td[data-content*="4"] {
color: green;
}
<table>
<tr>
<td data-content="Peter">Peter</td>
<td data-content="male">male</td>
<td data-content="34">34</td>
</tr>
<tr>
<td data-conten="Susanne">Susanne</td>
<td data-content="female">female</td>
<td data-content="14">14</td>
</tr>
</table>
Вы также можете использовать jQuery для простой установки атрибутов содержимого данных:
$(function(){
$("td").each(function(){
var $this = $(this);
$this.attr("data-content", $this.text());
});
});
Вам необходимо добавить атрибут данных в строки с именем data-gender
со значением male
или female
и использовать селектор атрибута:
HTML:
<td data-gender="male">...</td>
CSS:
td[data-gender="male"] { ... }
@ voyager ответ об использовании атрибута data-*
(например, data-gender="female|male"
- самый эффективный и подход в соответствии со стандартами на 2017 год:
[data-gender='male'] {background-color: #000; color: #ccc;}
). ] можно получить , так как есть некоторые, хотя и ограниченные селекторы, ориентированные вокруг текста. :: first-letter является псевдоэлементом , который может применять ограниченную стилизацию к первой букве. элемента. Существует также псевдоэлемент :: first-line , кроме того, что выбор первой строки элемента (например, абзаца) также подразумевает, что очевидно, что CSS можно использовать для расширения эта существующая возможность стилизовать определенные аспекты textNode.
Пока такая адвокация не будет успешной и не будет реализована следующая лучшая вещь, которую я мог бы предложить, когда это применимо, к словам explode
/ split
, использующим ограничитель пробела, выведите каждое отдельное слово внутри элемента span
, а затем, если цель слова / стиля предсказуема, используйте в сочетании с : nth selec tors :
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span>'.$value1.'</span>;
}
Остальное , если не предсказуемо , чтобы снова использовать ответ voyager об использовании атрибута data-*
. Пример использования PHP:
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span data-word="'.$value1.'">'.$value1.'</span>;
}
Синтаксис этого вопроса похож на синтаксис Платформы Робота. В этом случае, хотя нет никакого селектора CSS, для которого можно использовать, содержит, существует ключевое слово SeleniumLibrary, которое можно использовать вместо этого. Эти Ожидают, Пока Элемент Не Содержит .
Пример:
Wait Until Element Contains | ${element} | ${contains}
Wait Until Element Contains | td | male
Боюсь, это невозможно, потому что контент не является атрибутом и недоступен через псевдокласс. Полный список селекторов CSS3 можно найти в спецификации CSS3 .