javascript - 如何获取动态创建的元素宽度并对其应用样式?

标签 javascript jquery

我正在动态创建一个 li 元素,如下所示:

$(data).find('slide').each(function(numSlide){
  var slideLink = $(this).attr('link');
  var slideimage = $(this).children('slideimage').text();
  var slidedesc = $(this).children('slidedesc').text();

  $('.slider ul').append('<li><a href="'+slideLink+'"><img src="'+root+"images/top-slider-image/"+slideimage+'" alt="welcome to Burger Davis Blog" /></a><div class="note">'+slidedesc+'</div></li>');
})

但是我想计算 li 的宽度,并且我需要对其应用一些样式 - 我该怎么做?如果我通过 css 方法添加样式,它不适用于动态创建的元素...

请帮助我获取动态元素的宽度以及如何将样式应用到其中?

我知道我们可以使用 live 功能,但我什至无法做到这一点..

最佳答案

$(data).find('slide').each(function(numSlide){
  var slideLink = $(this).attr('link');
  var slideimage = $(this).children('slideimage').text();
  var slidedesc = $(this).children('slidedesc').text();
  var li = $('<li><a href="'+slideLink+'"><img src="'+root+"images/top-slider-image/"+slideimage+'" alt="welcome to Burger Davis Blog" /></a><div class="note">'+slidedesc+'</div></li>');
  $('.slider ul').append(li);
  var w = li.outerWidth();
  li.css('width', w + 100);
})

这是一个人为的示例。在附加外部创建链接,以便您可以直接访问它并利用innerWidth() 或outerWidth() 来获取宽度值。然后只需引用您创建的项目的 css 函数即可。在此示例中,我仅获取当前宽度并加 100。

关于javascript - 如何获取动态创建的元素宽度并对其应用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939539/

相关文章:

jquery - 如何在 jquery 框内居中标记 i

javascript - 我无法将 html 表格导出为 Excel xls 格式

javascript - 来自 React 的 PHP 外部变量

javascript - MixPanel : mixpanel. 轨道正在多次记录事件

javascript - 如何导出 multer 模块

javascript - 多文件 backbone.js 应用程序似乎不起作用

javascript - 获取链接的 ID 并打开警报 javascript

javascript - 为什么计数器变量没有递减?

jquery-ui - JQuery UI 自动完成语法

jquery - 如何在Jquery中调用按钮单击功能