jQuery Ajax 如何将responseText 作为变量传递给indexOf?
我正在尝试从 Ajax 请求的responseText 中附加 ap 元素。
在附加之前,我想查看responseText 是否已存在于父div 元素文本中,如果是这种情况,则不添加它。问题是我无法使用变量responseText 让indexOf(responseText) 工作。当我将字符串文字传递给indexOf 时,我的代码可以工作。
这是我的代码:
jQuery('#addButton').live('click', function () {
new Ajax('<url>', {
method: 'get',
dataType: 'html',
onSuccess: function (responseText) {
var text = jQuery('#div').text();
if (text.indexOf(responseText) == -1) {
//always true using responseText;
//string literal works though
jQuery('#div').append(responseText);
}
}
}).request();
})
提前感谢您的任何建议。
I am trying to append a p element from the responseText of an Ajax request.
Before appending, I would like to see if the responseText already exists in the parent div element text, and not add it if that is the case. The problem is I cannot get indexOf(responseText) to work using the variable responseText. My code works when I pass a string literal to indexOf.
Here is my code:
jQuery('#addButton').live('click', function () {
new Ajax('<url>', {
method: 'get',
dataType: 'html',
onSuccess: function (responseText) {
var text = jQuery('#div').text();
if (text.indexOf(responseText) == -1) {
//always true using responseText;
//string literal works though
jQuery('#div').append(responseText);
}
}
}).request();
})
Thanks in advance for any suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许是因为您正在寻找纯文本中的 html。尝试使用
html
而不是text
:Maybe because you're looking for html within plain text. Try using
html
instead oftext
:用 jQuery 包装响应并尝试与它的
text()
表示进行比较...Wrap the response with jQuery and try the comparison with the
text()
representation of it...上面的解决方案都不适合我(jQuery 1.11.2)。
但我终于找到了我的解决方案:
$(my_variable).selector
它对我来说没有问题:
No solutions above were working for me (jQuery 1.11.2).
But I found finally my solution:
$(my_variable).selector
It works without problem for me :