我有:
mytext = jQuery('#usp-title').val();
那我做
if(jQuery("#datafetch h2 a").text() == mytext) {
但一个标题可以是:
Space Mission
和 space mission
由于其他原因我无法标准化文本格式,因此我真的在比较两个字符串而不考虑它们的大小写。
更新
问题是我将输入字段用作搜索,因此用户可以键入 space mission
而帖子标题将是 Space mission
因此搜索结果将'要准确,我需要准确的短语。
完整代码:
<div id="datafetch"></div>
function fetch(){
jQuery('#datafetch').empty();
mytext = jQuery('#usp-title').val();
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'post',
data: { action: 'data_fetch', exactwords: mytext },
success: function(data) {
jQuery('#datafetch').html( data );
if(jQuery("#datafetch h2 a").text().toLowerCase().trim() == mytext.toLowerCase().trim()) {
jQuery("#componi").attr("disabled", "disabled").hide();
} else {
jQuery("#componi").removeAttr("disabled", "disabled").show();
}
if(jQuery("#datafetch h2 a").text() != mytext) {
jQuery("#fatto").hide();
jQuery('#datafetch').empty();
}
}
});
}
它实际上更棘手,因为搜索来自文本输入,所以它是关于 ajax 的查询我相信不仅仅是大写,只是一个想法。上面的最新代码通过键入没有给出任何结果:
space mission
而帖子标题是Space mission
更新 2
文章标题:
Space Mission
用户搜索
space mission
Console.log(data) 给出正确的结果
<ul class="list-unstyled margin-top-80">
<li>
<h2><a target="_blank" href="example.com"">Space Mission</a></h2>
</li>
</ul>
但这并没有发生:
jQuery('#datafetch').html( data );
如果我插入正确的单词 Space Mission
就可以了
最佳答案
同时将 转换为 Lowercase()
"Space Mission".toLowerCase() == "space mission".toLowerCase()
关于你的问题
if(jQuery("#datafetch h2 a").text().toLowerCase() == mytext.toLowerCase()) {
按照@charlietfl 的建议,在用户输入尾随或前导空格时进行 trim
if(jQuery("#datafetch h2 a").text().trim().toLowerCase() == mytext.trim().toLowerCase()) {
关于javascript - 如何比较两个字符串而不考虑它们的大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43304713/