Javascript 在页面加载或单击时将类添加到对象
这是我在wordpress中的当前代码:Javascript 在页面加载或单击时将类添加到对象,javascript,onclick,onload,Javascript,Onclick,Onload,这是我在wordpress中的当前代码: <div class="entry-content"> <a href="<?php echo $currenturl.'?material=&type='.$get_type; ?>">All Materials</a> <?php
<div class="entry-content">
<a href="<?php
echo $currenturl.'?material=&type='.$get_type;
?>">All Materials</a>
<?php
$materials = get_field('materials',$valueid);
foreach($materials as $id):?>
<a href="<?php
$matterm = get_term($id,'materials');
$matslug = $matterm->slug;
$mattitle = $matterm->name;
echo $currenturl."?material=".$matslug.'&type='.$get_type;
?>"><?php
echo $mattitle;
?>
</a>
<?php endforeach; ?>
</div>
这是电流输出:
<div class="entry-content">
<a href="#>Material 1</a>
<a href="#>Material 1</a>
</div>
我希望代码的输出是:
<div class="entry-content">
<a class="current" href="#>Material 1</a>
<a href="#>Material 1</a>
</div>
我的头上有这个脚本,但它无法运行:
<script type="text/javascript">
window.onload = function() {
document.getElementById('entry').className = 'current';
};
</script>
window.onload=函数(){
document.getElementById('entry')。className='current';
};
您混淆了类和id(或者只是省略了id)。如果您执行了console.log(getElementById(“entry”)
,我打赌您会返回null
,我想您必须替换它
window.onload = function() {
var parentDiv = document.getElementsByClassName('entry-content');
parentDiv.childNodes[0].className = 'current';
};
在代码中:
document.getElementById('entry').className = 'current';
这是一个javascript方法,用于获取具有特定ID
而且您的HTML不正确,您忘记了href的结尾“
您应该像这样编写HTML-
<div class="entry-content">
<a id="entry" href="#">Material 1</a>
<a href="#">Material 1</a>
</div>
在做了上述更改之后,您的代码工作得很好。是这样吗,先生?.window.onload=function(){console.log(getElementById(“entry”)};如果您想在javascript中使用ID,必须在HTML中使用它。其中
OP
定义了条目内容
ID?很好,document.getElementsByClassName('entry-content');
始终提供所有选择器,因此您应该只需要针对单个选择器。请尝试使用此文档。GetElementsByCassName('entry-content')[0];
是,稍后我将使用chilNodes[0]要获取第一个元素…是否正确?这不对。parentDiv
是所有对象的数组,因此您应该使用与childNodes[0]相同的方法。
使用:parentDiv[0]。childNodes[0]。className='current';
是,如果您想在代码中使用getElementById()。)但代码正在循环