2010-12-17 79 views
0

我正在嘗試使用可調整大小的元素,在這種情況下是一個圖像。 它的工作原理,但我不能取代新維度的原始寬度和高度,我做錯了什麼?替換字符串中的attr寬度和高度

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

不要忘了接受最有用的答案。 – 2010-12-17 13:40:27

回答

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 

很多你的檢查是不必要的,所以我刪除了它們。

希望這會有所幫助。

+0

您好,感謝您的幫助 – Pluda 2010-12-17 13:20:29

+0

與此它效果不錯 – Pluda 2010-12-17 18:20:12

+0

novo_html = $ codigo.replace($ pic.attr('width'),largura_final_imagem); novo_html = novo_html.replace($ pic.attr('height'),altura_final_imagem); – Pluda 2010-12-17 18:21:15

2

對於獲取/設置高度/寬度使用heightwidth功能。

例如:

var picHeight = $(pic).height(); // get height 
$(pic).height(500); // set height 
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); $(「body」)。prepend(txt_codigo);

` 你會發現,現在的字符串的div容器不見了......

再次感謝

Pluda

+1

歡迎來到計算器。這裏的慣例是編輯您的原始回覆,而不是發佈新回覆。此外,請儘量花一點時間正確地設置您的帖子的格式。 – 2010-12-17 13:42:01

+0

非常抱歉,我真的試圖正確發佈它,這符合我自己的興趣,不是嗎? :-) – Pluda 2010-12-17 15:05:34