我有:
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(数据)给出正确的结果
<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
是否 最佳答案
同时隐藏两个toLowercase()
"Space Mission".toLowerCase() == "space mission".toLowerCase()
根据您的问题
if(jQuery("#datafetch h2 a").text().toLowerCase() == mytext.toLowerCase()) {
如果用户输入尾随空格或前导空格,则进行整理,如@charlietfl所建议
if(jQuery("#datafetch h2 a").text().trim().toLowerCase() == mytext.trim().toLowerCase()) {
关于javascript - 如何比较两个字符串而不管它们的大小写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43304713/