我有以下内容:
<div id="container">
</div>
var img = $("<img/>")
.attr("src", "http://www.rv-trips.com/wp-content/uploads/2012/08/olympicnationalpark-2.jpg")
.load(function() {
$("#container").append($(this));
})
function someFunction(something) {
something.parent().hide();
}
someFunction(img);
它没有按预期工作。我想通过parent()从函数内访问“img”的父级,但是不起作用。然而,我可以通过something.hide();
隐藏图像本身但这不是我想要的。我显然也可以将父节点传递给函数,但我认为必须有一种方法来实现这一点,类似于我尝试过的方式。我对javascript和jquery很新,我想我想念一些有趣的概念,我想了解。
非常感谢提前。
答案 0 :(得分:0)
var img = $('<img/>', {
src: 'http://www.rv-trips.com/wp-content/uploads/2012/08/olympicnationalpark-2.jpg'
}).appendTo('#container');
function someFunction(something) {
something.parent().hide();
}
someFunction(img);
在我看来你应该放弃onload功能并像上面那样去做,特别是因为你试图使用的功能已被弃用,但我会再试一次,并添加一个等待图像的解决方案加载:
var img = new Image();
img.onload = function() {
document.getElementById('container').appendChild(this);
someFunction(this);
}
img.src = 'http://www.rv-trips.com/wp-content/uploads/2012/08/olympicnationalpark-2.jpg';
function someFunction(something) {
$(something).parent().hide();
}
答案 1 :(得分:0)
在您的示例中,父级已知,您可以使用
$( “#容器”)隐藏();
你有一个“更好”的例子,其中父母不知道吗?