这可能吗?或者有没有办法对现有的div进行处理和识别?
这是我的代码。我无法使用类来使用代码,但是当我使用getElementById
并将div更改为ID时,我发现它确实存在。但是我已经发布了大量的内容,因此需要花费很长时间才能完成所有帖子并手动将其更改为ID。
我可以将JQuery纳入其中并仍然有效吗?我试着用我偶然发现的东西,但它没有用,所以我把它删除了。我不记得它现在是什么。 :S
<div id="imdb" class="imdb">tt2382396</div>
<script>
function imdbdiv() {
var imdbmain = "http://www.imdb.com/title/";
var end = "/#overview-top";
var idnum = document.getElementsByClassName("imdb");
var newdiv = document.createElement("div");
var done = "<a href='" + imdbmain + idnum + end + "'>IMDB</a>";
newdiv.innerHTML = done;
document.body.appendChild(newdiv);
}
window.onload = imdbdiv();
</script>
任何人都可以提供帮助。我不能为我的生活弄清楚这一点。
答案 0 :(得分:0)
如果你的网页上有很多这样的div,那么它可能是这样的:
<div class="imdb">tt2382396</div>
<div class="imdb">tt2382396</div>
<div class="imdb">tt2382396</div>
<script>
function imdbdiv() {
var imdbmain = "http://www.imdb.com/title/";
var end = "/#overview-top";
var idnums = document.getElementsByClassName("imdb");
for (var i =0; i < idnums.length; i++) {
var newdiv = document.createElement("div");
var done = "<a href='" + imdbmain + idnums[i].innerText + end + "'>IMDB</a>";
newdiv.innerHTML = done;
document.body.appendChild(newdiv);
}
}
window.onload = imdbdiv();
</script>
请参阅jsfiddle
<强>更新强>
以下字符串不正确:
window.onload = imdbdiv;
答案 1 :(得分:0)
您的问题是,您附加了document.getElementsByClassName返回的集合,而不是循环遍历集合中的元素。您可以通过查看jsFiddle中链接的href
属性来验证这一点。您必须遍历这些值,然后访问其innerHTML属性中的数据。
您可以使用document.querySelectorAll
获取与特定CSS选择器匹配的所有元素的列表,例如.imdb
。如果您想要选择具有多个类的元素,则更灵活。我已粘贴下面updated jsFiddle的代码。
function imdbdiv() {
var imdbMain = "http://www.imdb.com/title/",
end = "/#overview-top",
imdbValueDivs = document.querySelectorAll('.imdb'),
length = imdbValueDivs.length,
// Iterator values
i,
newDiv,
newLink;
// Loop over all of your link value containers
for (i = 0; i < length; i++) {
// Create the container
newDiv = document.createElement('div');
// Create the new link
newLink = document.createElement('a');
newLink.href = imdbMain + imdbValueDivs[i].innerHTML + end;
newLink.innerHTML = "My favorite film";
// Add the link to the container,
// and add the container to the body
newDiv.appendChild(newLink);
document.body.appendChild(newDiv);
}
}
window.onload = imdbdiv();
答案 2 :(得分:0)
好的,所以你的问题有点不清楚。
我理解你的问题的方法是你有一大堆带有class属性的div元素,你想要的只是将类值复制到div元素的id属性。
如果这是正确的,那么用jquery尝试这样的事情:
<script>
$(document).ready(function(){
$(".imdb").each(function(imdbDiv){
var classValue = imdbDiv.attr("class");
imdbDiv.attr("id", classValue);
});
});
</script>