我尝试使用jQuery的.load函数将新内容加载到未知ID的div中。我试图从子元素中获取其ID。从警报开始返回父ID:
<script language="javascript">
$('#submitbtn').click(function(){
var parentId = $('#windowanchor').parent().attr('id');
alert('ID = ' + parentId);
});
</script>
好。但是,在修改代码以包含.load函数时,不会加载任何内容:
<script language="javascript">
$('#submitbtn').click(function(){
var parentId = $('#windowanchor').parent().attr('id');
$(parentId).load("plug.php?r=calendar&m=edit&id=1");
});
</script>
我怀疑我使用的语法是错误的(js / jquery菜鸟)。请帮忙!
答案 0 :(得分:3)
ID是唯一的,所以只需
<script language="javascript">
$('#submitbtn').click(function(){
$('#windowanchor').parent().load("plug.php?r=calendar&m=edit&id=1");
});
</script>
无需获取ID,只需将其粘贴在选择器中并再次获取相同的元素即可!
答案 1 :(得分:1)
您需要在选择器中添加#
前缀:
$("#" + parentId).load("plug.php?r=calendar&m=edit&id=1");
但是,更简洁的解决方案是只使用加载的引用而不获取ID:
$('#windowanchor').parent().load("plug.php?r=calendar&m=edit&id=1");
答案 2 :(得分:1)
<script language="javascript">
$('#submitbtn').click(function(){
var parentId = $('#windowanchor').parent().attr('id');
$('#'+parentId).load("plug.php?r=calendar&m=edit&id=1");
});
</script>
答案 3 :(得分:1)
您需要添加#
<script language="javascript">
$('#submitbtn').click(function(){
var parentId = $('#windowanchor').parent().attr('id');
$('#'+parentId).load("plug.php?r=calendar&m=edit&id=1");
});
</script>
答案 4 :(得分:0)
您需要在#
前加parentId
,以便选择器正常工作。
var parentId = '#' + $('#windowanchor').parent().attr('id');
$(parentId).load("plug.php?r=calendar&m=edit&id=1");
这样,如果id
的父级#windowanchor
属性为main
,则选择器变为#main
。
虽然adeneo's solution是理想的;而不是获取父ID并运行另一个jQuery选择器,只需直接在.load()
上调用$('#windowanchor').parent()
方法就更有效了。