我有:

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/

10-09 19:28