我正在尝试使用可调整大小的元素,在这种情况下是一个图像。 它有效,但我无法取代新尺寸的原始宽度和高度,我做错了什么?
var codigo = '<div style="text-align: left;"><img src="../pics/bom.jpg" id="bom.jpg" title="" alt="" style="border: 1px solid;" height="167px" width="167px"></div>';
//
if(pic = $(codigo).find('img').attr('id', que_pic)) {
alert(largura_final_imagem+" "+altura_final_imagem); // 400px
alert($(pic).attr('width')+" "+$(pic).attr('height')); // 400px
if($(pic).removeAttr('width')) {
$(pic).attr('width', largura_final_imagem);
if($(pic).removeAttr('height')) {
$(pic).attr('height', altura_final_imagem);
}
} else {
alert("Error resizing your image!");
}
alert($(pic).attr('width')); // 0
alert($(pic).attr('height')); // 0
novo_html = codigo;
alert(novo_html); // same string without changes
}
由于
Pluda
答案 0 :(得分:2)
对于获取/设置高度/宽度,请使用height和width函数。
例如:
var picHeight = $(pic).height(); // get height
$(pic).height(500); // set height
答案 1 :(得分:0)
我已修改您的代码以使其正常工作(也可在http://jsfiddle.net/ahwv6/1/处获得)。我还必须添加一些变量,您将在下面看到。
var codigo = '<div style="text-align: left;"><img src="../pics/bom.jpg" id="bom.jpg" title="" alt="" style="border: 1px solid;" height="167px" width="167px"></div>';
//
var largura_final_imagem = 100;
var altura_final_imagem= 100;
var $codigo = $(codigo);
var $pic = $codigo.find('img');
alert(largura_final_imagem+" "+altura_final_imagem);
alert($pic.attr('width')+" "+$pic.attr('height'));
$pic.attr('width', largura_final_imagem);
$pic.attr('height', altura_final_imagem);
alert($pic.attr('width'));
alert($pic.attr('height'));
var novo_html = $codigo.html();
alert(novo_html); // same string without changes
你的很多支票都是不必要的,所以我将它们删除了。
希望这有帮助。
答案 2 :(得分:0)
它起作用或更少: - )
如果你在最后添加
`var txt_codigo = document.createElement('TEXTAREA'); txt_codigo.id ='txt_codigo'; $(txt_codigo).css('width','100%'); $(txt_codigo).css('height','200px'); $(txt_codigo).VAL(novo_html); $( “正文”)前置(txt_codigo);
` 你会注意到现在字符串的div容器已经消失......
再次感谢
Pluda