Javascript 如何使用jQuery生成ID为';简介';在舱里?

Javascript 如何使用jQuery生成ID为';简介';在舱里?,javascript,jquery,Javascript,Jquery,我的网页上有一个div元素,ID为“map”,里面有一个指向谷歌的链接 <div id="map"> <a href="http://google.com">Google</a> </div> 无济于事 我对Javascript持开放态度,但也可以使用非jQuery的方式来实现这一点。谢谢大家! 这应该有效: $('#map').append('<p id="blurb"></p>'); 首先,设置所有属性,然后

我的网页上有一个div元素,ID为“map”,里面有一个指向谷歌的链接

<div id="map">
    <a href="http://google.com">Google</a>
</div>
无济于事

我对Javascript持开放态度,但也可以使用非jQuery的方式来实现这一点。谢谢大家!

这应该有效:

$('#map').append('<p id="blurb"></p>');

首先,设置所有属性,然后追加

$('<p>').attr('id', 'blurb').appendTo('#map');
$(“”).attr('id','blurb').appendTo('#map');

您的代码不起作用有两个原因。首先,append可以获取文本,您必须使用标记(
)而不是
p
来区分文本和HTML。另一个原因是链接意味着jQuery的append函数将返回调用它的jQuery对象。在本例中,是指地图元素的对象。因此,当您设置id时,您设置的是map div的id,而不是新创建的元素的id(假设
错误已修复)。您还应该使用prop来设置id,而不是attr,但两者都可能适用于id。下面是一些示例代码:

jQuery:

$('<p>').appendTo('#map').prop('id', 'blurb');

在给定的示例中,
还不存在,因此您不能选择它
我想使用jQuery在链接后面生成一个段落,ID为“blurb”,
对不起,我认为used
append
appendTo
会动态创建元素,如这里所述。谢谢你澄清了这一点,但是这不起作用。jsfiddle.net/QzKLp/2tried在google chrome的控制台中使用它
TypeError:无法调用null的方法“attr”
@DavidFaux:您有
。这里什么都不行。:)@DavidFaux-从HTML中的id中去掉#,使其成为
id=“map”
,而不是
id='#map'
。修复后,它在这里工作:它在这里工作:。。我还建议您在追加之前完成内容,而不是在追加之后,因为这将减少浏览器中的回流操作。
$('<p>').attr('id', 'blurb').appendTo('#map');
$('<p>').attr('id', 'blurb').appendTo('#map');
$('<p>').appendTo('#map').prop('id', 'blurb');
var pel = document.createElement('p');
pel.id = 'blurb';
document.getElementById('map').appendChild(pel);