【问题标题】:jQuery String SyntaxjQuery 字符串语法
【发布时间】:2012-01-19 17:34:26
【问题描述】:

尝试在元素后插入 HTML 时遇到一些语法问题。

$('<div id="newdiv" style="height:' + heightvar +'"></div>').insertAfter('#mydiv');

新的 div 插入到了正确的位置,但是样式中缺少 height 属性,所以看起来像这样。

<div id="newdiv" style=""></div>

你能看出我的语法有问题吗?

【问题讨论】:

  • heightvar的值是多少?
  • 您是否已通知heightvar 以确保存在价值?我怀疑它是空的。

标签: javascript jquery jquery-ui jquery-selectors


【解决方案1】:

我猜你忘记了 heightvar 变量中的单位。

heightvar = '10' 会产生空白样式属性,但heightvar = '10px' 不会。

【讨论】:

  • 是的,就是这样。我不知道没有 px 样式会留空。
【解决方案2】:

这个怎么样:

$('<div id="newdiv">')
.css({height:heightvar})
.insertAfter('#mydiv');

【讨论】:

  • 与问题无关的语义。布兰登有正确的答案。
【解决方案3】:
$('<div id="newdiv" style="height:'+ heightvar +'px">hello</div>').insertAfter('#mydiv');

【讨论】:

    【解决方案4】:

    您可以使用 jquery 函数而不是模板来应用样式。将表现更好,更容易做到。

    var myDiv = $('<div id="newdiv"></div>');
    $(myDiv).css('height', heightvar);
    myDiv.insertAfter('#mydiv');
    

    【讨论】:

      【解决方案5】:

      我怀疑heightvar 的值无效。见我的demo

      下面的代码对我有用,

      var heightvar = '0px';
      
      $('<div id="newdiv" style="height:' + heightvar +'"></div>').insertAfter('#mydiv');
      

      【讨论】:

        【解决方案6】:

        切换选择器。 JQuery 函数 - $() - 应该用于选择要更改的元素。试试:

        var heightvar = '0px';
        
        $('#mydiv').after('<div id="newdiv" style="height:' + heightvar +'"></div>');
        

        【讨论】:

          猜你喜欢
          • 2014-11-27
          • 1970-01-01
          • 2011-07-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-07
          • 2020-06-04
          相关资源
          最近更新 更多