Rya*_*les 1 javascript jquery split function
这是问题所在:
我在正斜杠 (/) 之前和之后拆分文本。然后我将每个拆分部分包装在不同的跨度类中,以便我可以对它们进行不同的样式设置。但是,如果文本中没有正斜杠,它会将单词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>';
})
Run Code Online (Sandbox Code Playgroud)
这变成了这个:
<div class="author-info">
Company XYZ / My Job Title
</div>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<div class="author-info">
<span class="company">Company XYZ</span> /
<span class="job-title">My Job Title</span>
</div>
Run Code Online (Sandbox Code Playgroud)
再一次,问题是如果没有正斜杠,它会将单词“undefined”返回到页面上。所以下面的代码(注意缺少正斜杠):
<div class="author-info">
Company XYZ My Job Title
</div>
Run Code Online (Sandbox Code Playgroud)
变成这样:
<div class="author-info">
<span class="company">Company XYZ My Job Title</span> /
<span class="job-title">undefined</span>
</div>
Run Code Online (Sandbox Code Playgroud)
为了防止出现未定义的文本,我需要此函数仅在.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>';
}
})
Run Code Online (Sandbox Code Playgroud)