2016-04-12 3 views
-2

У меня есть этот HTML:длина JQuery не удалось подтвердить

<div id="product_imgfiles_container" class="row"> 
    <div class="col-xs-4 col-md-2"> 
     <div class="thumbnail product_imgfiles"> 
      <img src="./user/product/2016/04/07/2608/0024454001460020491/img/29310931.jpg "> 
      <a href=""><span><i class="fa fa-times-circle"></i> delete</span></a> 
     </div> 
    </div> 
    <div class="col-xs-4 col-md-2"> 
     <div class="thumbnail product_imgfiles"> 
      <img src="./user/product/2016/04/07/2608/0024454001460020491/img/29340931.jpg "> 
      <a href=""><span><i class="fa fa-times-circle"></i> delete</span></a> 
     </div> 
    </div> 
    <div class="col-xs-4 col-md-2"> 
     <div class="thumbnail product_imgfiles"> 
      <img src="./user/product/2016/04/07/2608/0024454001460020491/img/29311931.jpg "> 
      <a href=""><span><i class="fa fa-times-circle"></i> delete</span></a> 
     </div> 
    </div> 
</div> 

и у меня есть этот JQuery:

$.getJSON("controller/ctrl.dropzonejs-imgfiles.php?dir=XXX",function(json){       
    $.each(json, function(key, val) { 
     alert (val); 

     if (!$("#product_imgfiles_container img[src="+val+"]").length){ 
      alert ("this val not in your HTML yet"); 
     } 

    }); 
}); 

, когда нет никакого IF заявление, alert (val); может показать все данные JSON. но когда мне нужно проверить с .length, он останавливает итерацию. и я до сих пор не могу выполнить alert ("this val not in your HTML yet");.

Как правильно использовать .length, чтобы проверить, существует ли путь src от json в HTML или нет?

+0

что является 'val' –

+0

То, что вы должны работать, при условии, что' val' исходящее от JSON правильно. Не могли бы вы добавить образец JSON, полученный в запросе AJAX, на вопрос. –

+0

'' 'inside' '' wrapped string будет прерывать строку ... Try '$ (" # product_imgfiles_container img [src = '+ val +'] ")' – Rayon

ответ

1

Вы, вероятно, получаете сообщение об ошибке от двигателя селектора JQuery/браузера. Вам нужно поставить значение, которое вы получаете от val в кавычки:

$("#product_imgfiles_container img[src='"+val+"']") 
// Note -------------------------------^-------^ 

Вы можете использовать веб-консоль, чтобы увидеть ошибки.

+0

, вы правы, бро! это делает ошибку и прерывает итерацию. Спасибо. –

-2

Вы можете изменить, если условие

if (!$("#product_imgfiles_container img").prop('src') == val){ 
      alert ("this val not in your HTML yet"); 
     } 
+1

Если вы сделали это таким образом, вам нужно было бы перебрать все« img »и проверить свойство –

0

Я уверен, что значение «val», получаемое из JSON, недействительно, «val» имеет полный путь, включая имя изображения.

Так что лучше использовать только имя изображения вместо полного пути.

img src="/dummy/image/logo_header.png" 

var x = $("img[src$='logo_header.png']"); 
1

изменения вы код быть следующим: -

if ($("#product_imgfiles_container img[src='"+val+"']").length==0){ 
      alert ("this val not in your HTML yet"); 
     } 
+0

Дампы кода редко * полезные * ответы. Скажите *, что * вы сделали, и * почему *. (Это также просто дубликат существующего ответа.) –

+0

Не продублированный, я тестировал его и сам работал над ним, не получая его нигде. –

+0

Я никогда не говорил, что вы * скопировали * его (если бы у меня был ниспроверенный и помеченный для мода), просто, когда вы видите, что ответ, который вы написали, оказался просто дубликатом того, который уже существует, вы должны просто удалить его, так как нецелесообразно дублировать существующие ответы. Это то, чем я занимаюсь. –

Смежные вопросы