如果对象具有特定的CSS类,请使用本机JavaScript更改对象的title属性

时间:2019-03-14 20:02:28

标签: javascript html css attributes

因此,通过使用本机javascript,我将如何说 “如果此对象具有此CSS类,请将其添加到title属性”

document.addEventListener("DOMContentLoaded", function(event) { 
    if(element.classlist.contains("current_page_item")||element.classlist.contains("current-page-ancestor")){

    }
});

据我所知,我试图坚持使用本机javascript,以便我们不必加载任何库,并且可以使该站点尽可能地简约。

4 个答案:

答案 0 :(得分:1)

您可以使用getElementsByClassName()

var x = document.getElementsByClassName("current_page_item");

然后循环并添加标题

x.forEach(function(element){
   element.title = "title";
});

for (var i = 0; i < x.length; i++) {
    x[i].title ="title";
}

要回答您的评论,请将标题应用于“ a”元素,该元素是具有“ current_page_item”类的div元素的子代

for (var i = 0; i < x.length; i++) {
    var y = x[i].getElementsByTagName("a");
    y[0].title = "title";
}

答案 1 :(得分:0)

类似于Rohit Shetty的回复,您还可以使用querySelector:

let elements = document.querySelector(".current_page_item");
elements.forEach(function(e) {
  e.title = "title";
);

答案 2 :(得分:0)

您可以使用getElementsByClassName()

var x = document.getElementsByClassName("current_page_item");
for(var i=0;i<x.length;i++){
    x[i].title += "BLAH";
}

答案 3 :(得分:0)

如果我理解得很好,我现在不知道。

但是让我们尝试一下。 首先,找到元素。

const nodes = document.querySelectorAll('.current_page_item, .current_page_item')
// nodes are the elements of one of the classes names

然后,将“名称”类应用于标题。

function containsOfTheClasses (node) {
    return classNames.some(x => node.classList.contains(x))
}

nodes.forEach(function (node) {
    node.title += classNames.filter(containsOfTheClasses).join(' ')
})