1

高さと幅がxより大きい個々の画像に、配列の各画像のタイトルを追加しようとしています

*エディターでこれを正しくフォーマットする方法がわかりませんでした

var curHeight;
var curWidth;
var hr;
function imgHr(){
  var allImages = document.images;
   for (var i=0; allImages.length > i; i++) {
     var imgSrc = allImages[i].src;
     var newImg = new Image();
     newImg.src = imgSrc;    
     curHeight = newImg.height;
     curWidth = newImg.width;
      if(curWidth>='80' && curHeight>='80'){
         var imgGet=allImages[i];
         var hrT=allImages[i].title;
         var hr= document.createElement("hr");
         hr.style.border-bottom="1px solid skyblue";
         hr.innerHTML=hrT;
         //appendChild isn't working
         imgGet.appendChild(hr);
         //but everthing else works: example
         imgGet.style.border="1px solid red";
       } else {
         //maybe add something later
       }
    }   
 }

OKこれで私のケースは解決しました

function insertafter(newChild, refChild){ 
 refChild.parentNode.insertBefore(newChild,refChild.nextSibling);
 }
4

1 に答える 1

0

エラーは にありhr.style.border-bottom="1px solid skyblue"ます。JavaScript では、camelCase プロパティを使用する必要があります: hr.style.borderBottom="1px solid skyblue". この SO-questionを参照してください。

appendChildさらに、img要素には使用できません。で画像をラップする必要がありますdiv(つまり、div要素を作成し、それに追加し、元の位置からimg削除し、要素を作成し、に追加します)。imghrdiv

innerHTML最後になりましたが、 .では使用できませんh(orizontal)r(uler)。残っているのは、div要素を作成し、imgその1に を追加し、元の位置から を削除しimg、img タイトルを含む textNode (またはスパン) を作成し、それを に追加することdivです。

1別のアイデアは、新しく作成された の背景画像として画像を使用することですdiv

于 2011-07-15T06:27:01.770 に答える