使用jQuery从变量中的值更改表上的边距值?

时间:2010-09-03 11:09:39

标签: javascript jquery

我使用这个选择一些表:

$('.StatusDateTable').each(function() {
var statusLight = $(this).find(".StatusLight").attr("src");
statusLight = statusLight.substring(33).slice(0,-9);

if (statusLight == "Blue") {
    var columns = Math.abs((start - end)-1);
    var columnWidth = 40;
    var marginRight = Math.abs(columnWidth * columns);

现在我想在当前表上设置margin-right =“theValueOfmarginRightHere”,这可能吗?

我尝试过类似的事情:

$(this).attr('margin-right=" + marginRight + "');

但很明显它不起作用。

提前致谢。

3 个答案:

答案 0 :(得分:0)

$(this).css({marginRight:marginRight})

答案 1 :(得分:0)

$(this).css('marginRight',marginRight + 'px');

答案 2 :(得分:0)

使用.css()

$(this).css('margin-right', marginRight);

您最后可能需要添加px,对此不确定:marginRight + 'px'

对您的代码行的评论:

  • margin-right不是HTML元素的属性。这是一个CSS属性。因此,您无法使用attr()方法设置此类属性。
  • 查看attr()方法所需的参数。它是:
    • attr(name)获取属性值。
    • attr(name, value)设置值。您必须创建类似name=value的字符串。
  • 当你进行字符串连接时,你必须小心混合'"。你的确会创建字符串margin-right=" + marginRight + "(正如你从语法高亮显示器中看到的那样)。要以正确的方式连接,您必须在正确的位置放置单引号:

    'margin-right="' + marginRight + '"'
    //           --^               --^
    

    `