我想检查特定div是否具有已添加ajax的特定文本。
这是ajax功能代码:
$(function() {
$(document).on('click', '#JS_couponSubmit', function(e) {
e.preventDefault();
var $this = $(this);
$this.data('text', $this.text());
$this.text('Cargando...');
var $form = $('#JS_couponForm');
$.ajax({
url: $form.attr('data-action'),
data: {
'coupon_code': $('#JS_couponCode').val(),
'view_cart': 'front_cart/v_cart'
},
type: 'post',
dataType: 'json',
cache: false,
success: function(response) {
$this.text($this.data('text'));
$('#JS_cart').replaceWith(response.htmlCart);
$('#JS_couponResponse')
.html(response.message)
.addClass(response.message?'success':'error');
$('#JS_couponForm th p').addClass('active');
$('#JS_couponForm td').show(100);
}
});
});
});
此代码会将文字No existe este código
(或其他文字,如果优惠券代码正确,但出于此问题的目的,我只是使用此文字)添加到#JS_couponResponse
。
所以我尝试在success: function(response) { }
中使用此功能,但它根本不起作用:
setTimeout(function(){
$('#JS_couponResponse:contains("No existe este código")').each(function () {
alert("Has text");
});
},1000);
我也在success: function(response) { }
:
var $myDiv = $('#JS_couponResponse:contains("No existe este código")');
if ( $myDiv.length){
alert("Has text");
}
知道怎么做吗?
答案 0 :(得分:0)
您可以在成功方法中添加使用indexOf
。
$(document).ready(function(){
$('.JS_couponResponse').each(function(){
if($(this).text().indexOf("No existe este códig")>-1) {
$(this).css("color","green");
}
else {
$(this).css("color","red");
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="JS_couponResponse"> No existe este códig efff fdg sdgs</div>
<div class="JS_couponResponse">efff fdg sdgs</div>
&#13;
答案 1 :(得分:0)
:contains
的问题在于它无法处理重音字符,例如ó
。
如果您避免使用当前的任何方法,那么:
e.g。
var $myDiv = $('#JS_couponResponse:contains("No existe este")');
if ( $myDiv.length){
alert("Has text");
}
答案 2 :(得分:0)
我会选择:
$.ajax({
url: $form.attr('data-action'),
data: {
'coupon_code': $('#JS_couponCode').val(),
'view_cart': 'front_cart/v_cart'
},
type: 'post',
dataType: 'json',
cache: false,
success: function(response) {
$this.text($this.data('text'));
$('#JS_cart').replaceWith(response.htmlCart);
$('#JS_couponResponse')
.html(response.message)
.addClass(response.message?'success':'error');
$('#JS_couponForm th p').addClass('active');
$('#JS_couponForm td').show(100);
// Code to add in your success callback if you have several div ".couponResponse"
$('.JS_couponResponse').each(function() {
if($(this).text() == 'No existe este código'))
{
alert('Has text');
}
});
// Code to add in your success callback if you have only one div "#couponResponse"
if($('#JS_couponResponse').text() == 'No existe este código'))
{
alert('Has text');
}
});
请注意,如果您有多个id="JS_couponResponse"
,则需要从class="JS_couponResponse"
切换到div
。 DOM中ID
唯一。