gpt4 book ai didi

javascript - In-tag 'onload' JS对目标没有影响

转载 作者:行者123 更新时间:2023-11-30 16:19:26 25 4
gpt4 key购买 nike

我的 html.twig 中有这一行模板。

<div class="panel panel-default" onload="(this.class = determineClass(this))">

及以后:

var determineClass = function(element) {
if (element.offsetHeight < element.scrollHeight) {
return element.class + ' some_class';
} else {
return element.class + ' some_other_class';
}
}

我期待 onload 中的字符串作为JS执行。但是,该字符串按字面解释,对 class 没有影响。那个标签。

我如何使用 determineClass功能来改变class这个标签的属性?

最佳答案

据我所知,您不能在 div 上使用 onload。使用 JQuery,这是一个可行的方法(参见 fiddle)。

HTML

<div class="panel panel-default determineClass"></div>

JS

$(document).ready(function() {
$('.determineClass').each(function() {
$(this).removeClass('determineClass');
if ($(this).offsetHeight < $(this).scrollHeight) {
$(this).addClass('some_class');
} else {
$(this).addClass('some_other_class');
}
});
});

ready 确保函数在文档完全加载后运行。我使用类 determineClass 作为标志,来标记需要处理的元素。

加载文档后,我遍历所有带标签的元素,删除标志类并进行实际处理。

关于javascript - In-tag 'onload' JS对目标没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34961512/

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