javascript 尝试为div id添加变量,是否可能?

ttcibm8c  于 2023-03-11  发布在  Java
关注(0)|答案(7)|浏览(177)

我正在尝试使用变量内部体.只是看到下面的示例代码

<body>
 <div class="demo">
     <script>
     var count = 4;
      for(i=1;i<=count;i++){
          var varSlid = "A"+i;
          $('.demo').append('<div id= varSlid ></div></br>');
      }
     </script>
</div>
</body>

但是它正在抛出错误。请检查并告诉我错误在哪里?

klr1opcd

klr1opcd1#

试试这个

var varSlid = "A"+i;
          $('.demo').append('<div id= ' + varSlid  + '></div></br>');
vddsk6oq

vddsk6oq2#

错误在于 .demo 尚未完成解析,因此您不应尝试对其进行操作。这可能会在旧版本的IE("operation aborted",任何人?)中导致严重问题。请将脚本移动到<div>标记之外:

<body>
<div class="demo">
</div>
<script>
     var count = 4;
      for(var i=1;i<=count;i++){
          var varSlid = "A"+i;
          $('.demo').append('<div id='+varSlid+'></div><br/>');
      }
</script>
</body>

正如其他人所指出的,您还需要引号来将变量引入HTML字符串,尽管这不会导致任何错误-您最终得到的只是一堆具有相同id(“varSlid”)的元素。

33qvvth1

33qvvth13#

也许是我缺乏jQuery-fu...但是</br>不应该是<br/>吗?
此外,您不应该创建4个元素<div id= varSlid >,因为id属性应该是唯一的。

**编辑:**您可能希望使用变量varSlid的值作为id属性,但现在它是硬编码字符串文字的一部分。

$('.demo').append('<div id="'+varSlid+"'></div><br/>');
eh57zj3b

eh57zj3b4#

试试这个...

$('.demo').append($('div').attr('id', varSlid)).append('<br/>');

也将整个函数 Package 在on dom ready中,如下所示

$(function(){
    //your code here...
});
fwzugrvs

fwzugrvs5#

将:$('.demo').append('<div id= varSlid ></div></br>');更改为:$('.demo').append('<div id=' + varSlid + ' ></div></br>');

3hvapo4f

3hvapo4f6#

它是:$('.demo').append('<div id="' + varSlid + '"></div></br>');

hjzp0vay

hjzp0vay7#

我不真实的清楚OP最初的问题,但这符合标题。
HTML5有一个data-* 属性,这里的 * 代表你的数据,我很幸运地把Web.py(python)变量从模板传递到js函数。
https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes

<!DOCTYPE html> <!--declare we are using HTML5-->
<html>
<head>
  <script>
    var jsVersionData = ''; //create a global variable for example simplicity
  </script>
</head>
<body>
  <div id="stored-variable" data-stored="7">
    <script> 
      jsVersonData =  document.getElementById("stored-variable");  //get the variable from the div
    </script>  
  </div>

  <script>
    var myStr = jsVersonData.dataset.stored;  // the variable
    var myInt = Number(myStr);                // convert the variable to int
    alert(myInt + 1);
  </script>
</body>
</html>

相关问题