Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在IE8及以下版本中添加微妙之处_Javascript_Jquery_Internet Explorer 8 - Fatal编程技术网

Javascript Jquery在IE8及以下版本中添加微妙之处

Javascript Jquery在IE8及以下版本中添加微妙之处,javascript,jquery,internet-explorer-8,Javascript,Jquery,Internet Explorer 8,我有以下代码: var editLink = $('<a href=# class="edit" id="edit">').append('edit') var editLink=$(“”) 但是我有很多嵌套的属性,并且在jQuery的中间不需要一个很长的HTML。< /P> 你知道为什么第一个版本不起作用吗?我找到了答案 只是需要关闭正在创建的元素。即 var editLink = $('<a href=# class="edit" id="edit"></a

我有以下代码:

var editLink = $('<a href=# class="edit" id="edit">').append('edit')
var editLink=$(“”)

但是我有很多嵌套的属性,并且在jQuery的中间不需要一个很长的HTML。< /P> 你知道为什么第一个版本不起作用吗?

我找到了答案

只是需要关闭正在创建的元素。即

var editLink = $('<a href=# class="edit" id="edit"></a>').append('edit');
var editLink=$('').append('edit');
我一直担心这会将文本附加到元素之后,而不是在元素内部,然而,append当然意味着添加到目标元素内部的末尾

因此,这是完美的。对于没有结束标记的字段,例如

<input type=text> 


依此类推,您不需要有结束元素。

第1版不起作用,因为IE 8有很多随机的怪癖。似乎没有理由,事情就不会发生。另外,您使用的是什么版本的jQuery?我注意到您的href中没有关于
#
的引号。你也可以做
$('edit').attr(“href”,“#”).attr(“class”,“edit”).attr(..)我想是吧?这些链式方法可以放在新行上以增加清晰度。@Sumurai8:您甚至可以执行
$('',{text:'edit',href:'#',class:'edit',…})
。您可以将一个对象作为第二个参数传递给
$()
,它会将它们设置为属性。您可以使用
text:
html:
,具体取决于您在元素中想要什么。@RocketHazmat谢谢。我不知道
$
接受了第二个参数。
<input type=text>