Javascript 如何使用jQuery生成ID为';简介';在舱里?
我的网页上有一个div元素,ID为“map”,里面有一个指向谷歌的链接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">
<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”,
对不起,我认为usedappend
,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);