Get parentNode tagName



我找不到parentNode。tagName从这个代码,并把一些风格的li标签。

// path to catalog images
var img = $('.catalog ul li > img');
for (i = 0; i < img.length; i++) {
    var pic_real_width;
    // Make in memory copy of image to avoid css issues
    $("<img/>").attr("src", $(img[i]).attr("src")).load(function () {
        pic_real_width = this.width;
        if (pic_real_width > 500) {
            // this part of code not work
            var imageParent = this.parenNode.tagName = 'li';
            imageParent.style.width = '50%';
        }
    });
}

您有parenNode而不是parentNode,并且您似乎正在分配该属性,该属性是只读的。

    // ---------------------v             v---assignment won't work
var imageParent = this.parentNode.tagName = 'li';

如果您只想要父级,那么没有理由与.tagName混淆。

var imageParent = this.parentNode;
imageParent.style.width = '50%';

另外,我不知道你在哪里添加新的<img>到DOM。如果它没有被追加,它就没有父元素。

也许你想获得原始图像的父元素。为此,每个load()处理程序都需要关闭当前的iimg。您可以使用.each()来完成此操作。

$('.catalog ul li > img')
    .each(function(i, img) {
        var pic_real_width;
        $("<img/>").attr("src", $(img).attr("src")).load(function () {
            pic_real_width = this.width;
            if (pic_real_width > 500) {
                var imageParent = img.parentNode;
                imageParent.style.width = '50%';
            }
        });
    })

相关内容

  • 没有找到相关文章

最新更新