问题是:
我在正斜杠 (/) 前后拆分文本。然后我将每个拆分部分包装在不同的 span 类中,这样我就可以为它们设置不同的样式。但是,如果文本中没有正斜杠,它会将单词 undefined 返回到页面上。由于我不希望出现 undefined,因此我只需要在文本包含正斜杠时运行该函数。
这是我当前的代码:
$('.author-info').html(function(i, val) {
val = val.split('/');
return '<span class="company">' + val[0] + '</span>' + '/' +
'<span class="job-title">' + val[1] + '</span>';
})
这变成了:
<div class="author-info">
Company XYZ / My Job Title
</div>
进入这个:
<div class="author-info">
<span class="company">Company XYZ</span> /
<span class="job-title">My Job Title</span>
</div>
再一次,问题是如果没有正斜杠,它会在页面上返回单词“undefined”。所以下面的代码(注意缺少正斜杠):
<div class="author-info">
Company XYZ My Job Title
</div>
变成这样:
<div class="author-info">
<span class="company">Company XYZ My Job Title</span> /
<span class="job-title">undefined</span>
</div>
为了防止出现undefined 文本,我需要此函数仅在.author-info div 中有正斜杠时运行。
有什么办法可以做到这一点吗?
非常感谢您提供的任何帮助!
最佳答案
尝试...
$('.author-info').html(function(i, val) {
if (val.indexOf("/")>0) {
val = val.split('/');
return '<span class="company">' + val[0] + '</span>' + '/' +
'<span class="job-title">' + val[1] + '</span>';
}
})
关于javascript - 仅当 div 包含特定文本时才运行 jQuery split() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27254692/