2017-03-24 214 views
3

我需要一些幫助添加類到一個div如果有一個圖像。將類添加到只有一個div

<div class="large-6 columns check-Div"> 
    <div class="custom-table"> 
    <div class="text"> 
     <?php echo $latestimage; ?> 
    </div> 
    <div class="custom-table-box"> 
     <?php echo $table; ?> 
    </div> 
    </div><!-- end custom-table --> 
</div> 
if ($j(".large-6.columns.check-Div > .custom-table-box:contains('size-full')")) { 
    $j('.large-6.columns.check-Div').addClass("hasImage"); 
} 

jQuery的上方添加hasImage類所有的div,但我只希望它時,有一個包含圖像的DIV適用。有沒有辦法單獨做到這一點?還是由父母?我已經嘗試過,但我有點失落。

任何幫助將是美好的!

+0

謝謝大家誰幫助。這就是我喜歡這個地方的原因。歡呼聲和愉快的週末;) – user3502952

回答

2

爲此,您可以使用jQuery沒必要加,如果條件

jQuery(".custom-table-box:has(img)").parents(".check-Div").addClass("hasImage"); 
+0

Muskesh - 謝謝。解決:) – user3502952

+0

很高興幫助你:) –

+0

你做了,現在我可以與一天。週末愉快!! – user3502952

2

CSS :已選擇是你在找什麼(這裏的直系後裔)

$('div:has(> img)').addClass("hasImage") //jquery way 

或只是在CSS(但這需要一個polyfill,作爲其在4級,這是目前草案)

div:has(> img) { 
    border-color: 1px solid red; 
} 

https://developer.mozilla.org/en-US/docs/Web/CSS/:has

的jsfiddle這裏:https://jsfiddle.net/y6gtt2vg/1/


瀏覽器支持

關於CSS選擇器兼容性不管瀏覽器的支持CSS選擇器的

,都選擇在api.jquery.com/category/selectors/上市將在作爲jQuery函數的參數傳遞時返回正確的元素集。

https://jquery.com/browser-support/

+2

現在有足夠的支持是值得推薦的嗎? – mayersdesign

+0

@mayersdesign不幸的是,否則這將是完美的解決方案 –

+0

當用作jQuery選擇器,然後jQuery做選擇,而不是瀏覽器... – malejpavouk

2

您可以通過刪除if說法,只是基於對:has選擇添加該類做到這一點:

$j('.large-6.columns.check-Div:has(img)').addClass('hasImage'); 
+0

感謝你的幫助! – user3502952

0

嘗試此代碼

$('.large-6 .columns .check-Div div:has(img)').addClass('hasImage'); 
+0

你的選擇有一些主要問題 –

2

爲清楚起見我增加了額外的背景顏色

$(".custom-table").children("div").each(function(item,index) { 
 
    $(this).has("img").css("background-color", "red"); // Comment it if not needed 
 
    $(this).has("img").addClass("hasImage"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="large-6 columns check-Div"> 
 
    <div class="custom-table"> 
 
     <div class="text"> 
 
     xyz<img /> 
 
     </div> 
 
     <div class="custom-table-box"> 
 
     abc 
 
     </div> 
 
    </div> 
 
    </div>

+0

謝謝你;) – user3502952

+0

你是welome;) –

0

我想你應該嘗試使用ID。

<div id="addImg" class="large-6 columns check-Div"> 
        <div class="custom-table"> 
        <div class="text"> 
        <?php echo $latestimage; ?> 
        </div> 


        <div class="custom-table-box"> 
         <?php echo $table; ?> 
        </div> 
        </div><!-- end custom-table --> 
       </div> 

if ($j(".large-6.columns.check-Div > .custom-table-box:contains('size-full')")) { $j('#addImg').addClass(".hasImage");//also missing . for class }

相關問題