**已关闭。**此问题为not reproducible or was caused by typos。目前不接受回答。
这个问题是由错字或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
27天前关闭
Improve this question的
我有一个JS函数在我的网页UI中呈现一个“按钮”。
该按钮是使用CSS格式的DIV构建的,其中包含图标图像和一些文本。我发现了一些文本溢出按钮的问题(由于用户浏览器字体设置),如果发生这种情况,我想添加一个滚动条。
但是,当试图添加类以使文本div可滚动时,我得到 “addClass不是一个函数”。
这是我的函数。下面是它被调用的例子。
function renderButton(btnArea,btnClass,btnOnclick,btnIcon,btnText,btnId) {
var btndiv = $("<div>").addClass(btnClass).attr("onclick",btnOnclick).attr("id",btnId);
var btnimg = $("<img>").addClass("btnicon").attr("src",btnIcon).attr("id",btnId+"img");
var btntxt = $("<div>").addClass("btntext").text(btnText).attr("id",btnId+"txt");
btndiv.append(btnimg);
btndiv.append(btntxt);
$(btnArea).append(btndiv);
txtIdSelector = "#"+btnId+"txt";
if ($(txtIdSelector)[0].scrollHeight > $(txtIdSelector)[0].offsetHeight ) {
$(txtIdSelector)[0].addClass("scrollable");
}
}
button_icon = file_path+"death_icon_white.svg";
button_text = "Death England & Wales GRO Index entry (1993 onwards) abcd def ghi jkl mno";
button_id = "btn"+"001";
renderButton("#btn-test-area","choicebtn","sayHello()",button_icon,button_text,button_id);
字符串
我以前可以像下面这样使用HTML DOM来实现这个功能,但是我相信我应该使用jQuery来提高效率。
offset_height = document.getElementById("btn001txt").offsetHeight;
scroll_height = document.getElementById("btn001txt").scrollHeight;
if (scroll_height > offset_height) {
document.getElementById("btn001txt").classList.add("scrollable");
}
型
有没有什么关于我的jQuery函数不工作的线索?谢谢
1条答案
按热度按时间piok6c0g1#
评论意见摘要如下:
接收这样的HTML元素是纯JavaScript,不会返回jQuery对象:
字符串
选择
jQuery('#btn001txt')
的元素,以便addClass
在jQuery对象上可用:型
正如您自己的评论中所述,
$(txtIdSelector).addClass("scrollable");
修复了该行为。