Ответ 1
Это невозможно с помощью CSS. Вы можете, однако, сделать это с помощью jQuery. Там есть хороший пост в блоге, который вы можете прочитать.
<a href="example1.com"> innerHTML1 </a>
<a href="example2.com"> innerHTML2 </a>
<a href="example3.com"> innerHTML3 </a>
Я хочу создать только второй (innerHTML2) с помощью селекторов CSS, основанный на внутреннем HTML. Это возможно? Я пробовал использовать a[value=innerHTML2]
, но он не работает.
Это невозможно с помощью CSS. Вы можете, однако, сделать это с помощью jQuery. Там есть хороший пост в блоге, который вы можете прочитать.
С помощью CSS вы не можете обнаружить содержимое тега привязки.
[value=]
будет ссылаться на атрибут тега
<a href="" value="blah"> innerHTML2 </a>
Не очень полезно, поскольку атрибут value недействителен HTML на теге a
Если возможно, удалите класс в теге a
. Поскольку это, скорее всего, невозможно (поскольку вы уже это сделали), вы можете использовать jQuery для добавления класса в этот тег. Попробуйте что-то вроде этого:
<script type="text/javascript">
$(function(){ $('a:contains(innerHTML2)').addClass('anchortwo'); });
</script>
И затем используйте .anchortwo
как ваш селектор классов.
В настоящее время это невозможно для всех браузеров с css, но с javascript вы можете это сделать
var myEles = document.getElements('a');
for(var i=0; i<myEles.length; i++){
if(myEles[i].innerHTML == ' innerHTML2 '){
console.log('gotcha');
//use javascript to style
}
}
<style>
a[data-content]::before {
content: attr(data-content);
}
a[data-content="innerHTML2"] {
color: green;
}
</style>
<a href="example1.com" data-content="innerHTML1"> </a>
<a href="example2.com" data-content="innerHTML2"> </a>
<a href="example3.com" data-content="innerHTML3"> </a>
вы можете использовать свойство css nth-child для доступа к любому элементу и любых изменений. Я использовал его на веб-сайте, который я сделал, чтобы сделать логотип меньшим или большим по ширине экрана.
Это довольно просто с селектором nth-child.
<style>
a:nth-child(2) {
color: green;
}
</style>
<a href="example1.com"> innerHTML1 </a>
<a href="example2.com"> innerHTML2 </a>
<a href="example3.com"> innerHTML3 </a>
Изменить: Здесь источник, на котором я нашел это. Проверьте совместимость браузера. Источник: http://reference.sitepoint.com/css/pseudoclass-nthchild