[英]Append HTML to div if it doesn't exist
我需要檢查元素是否存在,如果不存在,請使用Jquery
創建它。 例如,我的頁面中包含以下HTML代碼:
<div class="g-array-item">
<div class="g-array-item-image">Awesome Picture</div>
<div class="g-array-item-somethingelse">Something else</div>
</div>
<div class="g-array-item">
<div class="g-array-item-somethingelse">Something else</div>
</div>
我需要在兩個g-array-item
類div中都包含g-array-item
g-array-item-image
類div。
到目前為止,這是我沒有成功嘗試過的事情:
if(jQuery(".g-array-item-image").length < 0 ){
jQuery( '.g-array-item' ).append( jQuery( '<div class="g-array-item-image">123</div>' ) );
}
所需結果:
<div class="g-array-item">
<div class="g-array-item-image">Awesome Picture</div>
<div class="g-array-item-somethingelse">Something else</div>
</div>
<div class="g-array-item">
<div class="g-array-item-image">Awesome Picture</div>
<div class="g-array-item-somethingelse">Something else</div>
</div>
這是完整的代碼:
<div class="g-array-item">
<div class="g-array-item-image">Awesome Picture</div>
<div class="g-array-item-somethingelse">Something else</div>
</div>
<div class="g-array-item">
<div class="g-array-item-somethingelse">Something else</div>
</div>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.g-array-item').each(function(){
if($(this).find('.g-array-item-image').length == 0){
$(this).prepend('<div class="g-array-item-image">123</div>');
}
});
});
</script>
您需要在此處使用prepend
而不是append
否則它將在項目放置之后彈出image div。
它有一個簡單的解決方案:
g-array-item-image
,其具有類每個元素g-array-item
g-array-item-image
將是0
,你可以prepend()
它把它在里面DIV頂層帶班g-array-item
$(document).ready(function(){ $('.g-array-item').each(function(){ if($(this).find('.g-array-item-image').length === 0){ $(this).prepend('<div class="g-array-item-image">123</div>'); } }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="g-array-item"> <div class="g-array-item-image">Awesome Picture</div> <div class="g-array-item-somethingelse">Something else</div> </div> <div class="g-array-item"> <div class="g-array-item-somethingelse">Something else</div> </div>
<!-- To change this template, choose Tools | Templates and open the template in the editor. --> <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> </head> <body> <div class="g-array-item"> <div class="g-array-item-image">Awesome Picture</div> <div class="g-array-item-somethingelse">Something else</div> </div> <div class="g-array-item"> <div class="g-array-item-somethingelse">Something else</div> </div> <script> jQuery(document).ready(function() { jQuery(".g-array-item").each(function() { if (!(jQuery(this).children('.g-array-item-image').hasClass('g-array-item-image'))) { jQuery(this).append('<div class="g-array-item-image">123</div>'); } }); }); </script> </body> </html>
每個簡單的方法如下。
jQuery(".g-array-item").each(function() {
console.log(jQuery(this).children('.g-array-item-image').attr('class'));
if (!(jQuery(this).children('.g-array-item-image').hasClass('g-array-item-image'))) {
jQuery(this).append('<div class="g-array-item-image">123</div>');
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.