我需要的是在某个起始元素处遍历 dom,然后遍历起始元素下方的所有元素。
这是我到目前为止所做的。
function iterDomFromStartElem = function(startElem, callBackFunc) {
if (startElem !== null) {
var items = startElem.getElementsByTagName("*");
for (var i = 0; i < items.length; i++) {
callBackFunc(items[i]);
}
}
}
我需要从某个起始元素迭代 dom 的原因是因为我们团队最近收到了一个实现字体大小调整的请求;然而,我们开发的是静态站点,在许多不同的地方使用像素来设置字体大小。我意识到更简单的方法是重构现有代码,在页面的根部设置静态字体大小,并在其他地方使用 em/percentages,这样如果企业主想要对页面进行调整大小控制,我们所要做的就是在一处增加字体大小。这个重构需要很多小时,而我的任务是使用最少的工时。
那么,我有一个这样定义的回调,
function resizeFont(startElem, scale) {
iterDomFromStartElem(startElem, function(node) {
// get current size of node, apply scale, increase font size
}
}
使用这个原始 javascript 会起作用,但如果它在 css 类中声明,我将无法获得字体大小。
我知道 jquery 有一个 css 属性,如果我有一个 jquery 对象,我可以做 $(this).css(....),所以,
当我调用 callBackFunc(items[i]) 时,如何将 items[i] 转换为 jquery 对象,以便在我的回调函数中,我可以执行 node.css(......)?
我想我可以做 $(items[i].id),也许这是最简单的。
即使在 css 类中声明了字体大小并且 css 类附加到元素,javascript 是否有更简单的方法来确定字体大小?