Javascript jQuery:比较if语句中的字符串未按预期工作

Javascript jQuery:比较if语句中的字符串未按预期工作,javascript,jquery,Javascript,Jquery,由于某种原因,我的代码不起作用。我已经把问题缩小到变量本身,但我不确定为什么变量不起作用 var style=$('.user profiles.custom field profileboxstyle td:last of type').text(); 如果(样式=='Sandwich'){ $('.user profiles').append(“我是一个三明治”); } 剖面框样式: 三明治 您的上述代码可以正常工作,但在if中进行样式比较的主要原因可能是td中的尾随空格和前导空格,因此

由于某种原因,我的代码不起作用。我已经把问题缩小到变量本身,但我不确定为什么变量不起作用

var style=$('.user profiles.custom field profileboxstyle td:last of type').text();
如果(样式=='Sandwich'){
$('.user profiles').append(“我是一个三明治”);
}

剖面框样式:
三明治

您的上述代码可以正常工作,但在
if
中进行
样式
比较的主要原因可能是
td
中的尾随空格和前导空格,因此您可以在
样式
中使用
trim()
,以便删除空格,并将其与下面没有空格的字符串进行比较。在字符串比较中使用
trim()
始终是一种安全的方法,以便获得预期的输出

var style=$('.user profiles.custom field profileboxstyle td:last of type').text();
if(style.trim()==='Sandwich'){
$('.user profiles').append(“我是一个三明治”);
}

剖面框样式:
三明治

它应该能工作。您可能正在尝试在未加载元素时执行脚本。当文档准备就绪时尝试执行它。

var style=$('.user profiles.custom field profileboxstyle td:last of type').text();
console.log(风格);
如果(样式=='Sandwich'){
$('.user profiles').append(“我是一个三明治”);
}

剖面框样式:
三明治

您必须附加一个TD??因为它可以工作,但你没有附加一个td,但你是在表外附加尝试这个

var style = $('.user-profiles .custom-field-profileboxstyle td:last-of-type').text();
if (style === 'Sandwich') {
    string = 'I am a sandwich.';
    $('.custom-field-profileboxstyle').append("<td>"+string+"</td>");
}
var style=$('.user profiles.custom field profileboxstyle td:last of type').text();
如果(样式=='Sandwich'){
string='我是一个三明治';
$('.custom field profileboxstyle')。追加(“+string+”);
}

您是否尝试在您使用的第一行后面的console.log中记录样式。text()由于某些原因不起作用:对我来说很好。请描述不工作的行为。我将您的代码编辑为运行脚本,一切看起来都很好不?事实上,这确实解决了我的问题。我正在使用ProBoards,我想原始代码在td中有空格,无论出于什么原因。@Caligosus——虽然这确实解决了您的问题,但这是问题中的一个输入错误。此问题应作为主题外的问题关闭,或应完全删除。这样的帖子已经有数百篇了,这不会给未来的读者增加任何价值。@31piy,呃,我想,尽管我没有意识到原来的代码有空格。我很高兴我的问题得到了解答,尽管在问我自己之前,我在谷歌上搜索了几个小时。