我使用了太多的jquery
我想用jquery做这个:
<a onclick="javascript:$(this).next().css('display', 'none')">
我以为是这样的:
<a onclick="javascript:this.nextSibling.style.display = 'none'">
但不是。样式返回undefined。
让我澄清一下:
我想这样做:
<a class="errorToggle">error</a>
<div style="padding-left:20px;margin:0 0 10px 0;display:none;">
<h4>A PHP Error was encountered</h4>
<p>Severity: <?php echo $severity; ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>
</div>
<script type="text/javascript">
$(".errorToggle").click(function(){
$(this).next().css("display", "block");
});
</script>
没有jQuery BECAUSE这是一个代码点火器错误视图文件,经常会在我的标题之前加载,所以我将无法访问jquery。它不需要漂亮或编码良好,只需工作即可。这不会用于生产。
答案 0 :(得分:5)
看看这篇文章:
JavaScript nextSibling and Cross Browser Compatibility
摘录:
问题在于我们是 引用一个'的'nextSibling' 在我们的JS中使用onClick的元素 事件。在IE中这很有用, 然而在Firefox中'nextSibling' 可能是一个换行符。
你可能想要遍历“nextSibling()”,直到达到你想要的为止。