Как добавить ребенка в массив изображений с определенной высотой и шириной - PullRequest
1 голос
/ 15 июля 2011

Я пытаюсь добавить заголовок каждого изображения массива к каждому отдельному изображению, высота и ширина которого больше, чем 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
       }
    }   
 }

ОК, это решило мой случай

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

1 Ответ

0 голосов
/ 15 июля 2011

Ваша ошибка в hr.style.border-bottom="1px solid skyblue".В javascript вам нужно использовать свойства camelCase: hr.style.borderBottom="1px solid skyblue".См. этот SO-вопрос .

Кроме того, вы не можете использовать appendChild для элемента img.Вам нужно будет обернуть изображение в div (так: создайте элемент div, добавьте к нему img, удалите img из его исходного положения, создайте элемент hr, добавьте егона div).

Последнее, но не менее важное: вы не можете использовать innerHTML с h(orizontal)r(uler).Итак, что осталось: создать элемент div, добавить img к этому 1 , удалить img из его исходного положения, создать textNode (или span), содержащее заголовок img, и добавьте его к div.

1 , другая идея может заключаться в использовании изображения в качестве фонового изображения для вновь созданногоdiv.

...