#javascript #html #css #attributes
#javascript #HTML #css #атрибуты
Вопрос:
Итак, используя собственный javascript, как бы я сказал «если у этого объекта есть этот класс css, добавьте это к атрибуту title»
document.addEventListener("DOMContentLoaded", function(event) {
if(element.classlist.contains("current_page_item")||element.classlist.contains("current-page-ancestor")){
}
});
Это все, что у меня получилось, я пытаюсь придерживаться собственного javascript, чтобы нам не приходилось загружать какие-либо библиотеки и чтобы сайт был максимально минималистичным.
Комментарии:
1.
element.title =" some more content"
2. Я всегда плохо умею задавать вопросы… итак, я могу выполнить эту часть и иметь. Но элемент не определен. Итак, как мне указать ему, какие элементы проверять? В идеале, я думаю, это были бы просто ссылки или просто ссылки в div с классом «menu-primary-menu-container»
Ответ №1:
Вы можете использовать getElementsByClassName()
var x = document.getElementsByClassName("current_page_item");
Затем выполните цикл и добавьте title
x.forEach(function(element){
element.title = "title";
});
или
for (var i = 0; i < x.length; i ) {
x[i].title ="title";
}
Чтобы ответить на ваш комментарий, примените title к элементу «a», который является дочерним элементом элемента div, имеющего класс «current_page_item»
for (var i = 0; i < x.length; i ) {
var y = x[i].getElementsByTagName("a");
y[0].title = "title";
}
Комментарии:
1. Хм, здесь написано x.forEach — это не функция
2. постоянно добавляя область видимости…. итак, кроме того, что forEach говорит, что это не функция. Как мне применить title к элементу «a», который является дочерним элементом элемента div, имеющего класс «current_page_item»?
3. var y = x[0].getElementsByTagName(‘a’); Затем y[0].title = «заголовок»
Ответ №2:
Аналогично ответу Рохита Шетти, вы также можете использовать querySelector:
let elements = document.querySelector(".current_page_item");
elements.forEach(function(e) {
e.title = "title";
);
Ответ №3:
Вы можете использовать getElementsByClassName()
var x = document.getElementsByClassName("current_page_item");
for(var i=0;i<x.length;i ){
x[i].title = "BLAH";
}
Ответ №4:
Сейчас я не знаю, хорошо ли я понял.
Но давайте попробуем. Сначала найдите элементы.
const nodes = document.querySelectorAll('.current_page_item, .current_page_item')
// nodes are the elements of one of the classes names
Затем примените имена классов к title.
function containsOfTheClasses (node) {
return classNames.some(x => node.classList.contains(x))
}
nodes.forEach(function (node) {
node.title = classNames.filter(containsOfTheClasses).join(' ')
})