gpt4 book ai didi

javascript - 使用 javascript 代码不是用于 id,而是用于类

转载 作者:搜寻专家 更新时间:2023-10-31 22:08:35 24 4
gpt4 key购买 nike

我有一个 javascript 函数 MyFunc()这与 id="item_for_MyFunc" 有关.在函数中有一个

var elem = document.getElementById("item_for_MyFunc");

和 html 主体有:

<body onload="MyFunc()">
<p id="item_for_MyFunc">

一切正常,但我想将此功能用于页面上的多个项目。这就是为什么我应该使用 <p class="item_for_MyFunc">在这个函数要处理的页面上多次,所以用id不是解决办法。

应该对函数进行哪些更改才能针对 class="item_for_MyFunc" 进行更改?

最佳答案

所以你在那里做的事情非常简单。让我给你一个稍微更健壮的版本:

document.addEventListener('load', function(){

var elements = document.querySelectorAll('.myClassName');
for(var i=0, len=elements.length; i<len; i++){
MyFunc.call( elements[i] );
}

}, false);

所以旧版本的 IE,具体来说是 6 和 7,没有 querySelectorAll。我假设你不担心他们。如果你是,还有其他方法可以做到这一点,如果你需要,我可以告诉你如何做。

基本上,我们为您的所有元素提供一个“myClassName”类,然后 querySelectorAll 找到所有这些元素并返回一个 DOM 元素数组。

然后我们遍历列表,并对每个元素执行 MyFunc。

编辑因此,编写好的 javascript 的一个关键原则是尽可能将 js 代码与 html 标记分开。您几乎不应该再使用像 onload="myFunc"这样的内联事件处理程序。使用 js 本身编写的事件处理程序。

如果可以的话,您应该使用 jQuery 库。它使很多这些东西变得非常容易,对非常旧的浏览器有很好的支持,并且在成千上万的网站上使用。

关于javascript - 使用 javascript 代码不是用于 id,而是用于类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11664240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com