2016-03-31 1 views
0

Я хочу вызвать функцию щелчка с помощью JQUERY на div, содержащем текст «Сохранить как JPEG». Div с ID = "graph1" является статическим, а все остальные вложенные divs являются динамическими. Динамический div, содержащий текст, не имеет класса или идентификатора.нажмите на динамически созданный div - нет идентификатора и класса, вложенных в статический div, используя jquery

<div id="graph1" class="col-sm-12" style="height: 250px"> 
    <div class="contianer"> 
     <div class="convascharttoolbar"> 
      <div> 
       <div>save jpeg</div> 
       <div>save png</div> 
      </div> 
     </div> 
    </div> 
</div> 
+0

'Сохранить как JPEG' ваш ДИВ DonT содержат этот тест? Будет ли экземпляр, который не ДИВ содержат этот текст также будет экземпляр что там будет много div с таким текстом? – guradio

+0

Это рабочая демонстрация https://jsfiddle.net/k3L6e2ca/ – ketan

ответ

4

:contains(TEXT) Используйте селектор =>Выберите все элементы, которые содержат заданный текст.

$("div:contains('save jpeg')").on("click",function(){ 
    console.log(this.textContent); 
}); 
+0

как насчет div с текстом 'jpegrandomdiv' – guradio

+0

Это не работает, поскольку контент динамический. –

+0

если вы нажмете «сохранить png», это приведет к щелчку? Да? OP хочет только jpeg – guradio

1

Рабочая Демонстрационный

$(document).ready(function() { 
 
    
 
    $("#graph1").on('click','div', function() { 
 
    if($(this).text() == "save as jpeg"){ 
 
     alert('Div clicked') 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="graph1" class="col-sm-12" style="height: 250px"> 
 
    <div class="contianer"> 
 
    <div class="convascharttoolbar"> 
 
     <div> 
 
     <div>save as jpeg</div> 
 
     <div>save png</div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

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