javascript - 仅当 div 包含特定文本时才运行 jQuery split() 函数

标签 javascript jquery function split

问题是:

我在正斜杠 (/) 前后拆分文本。然后我将每个拆分部分包装在不同的 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/

相关文章:

c# - 在 MVC 中包含来自程序集的 javascript

javascript - 元素 <table> 的开始和结束标记之间不允许有文本

jquery - 如何在 png 中定位 jQuery 幻灯片

python - 我有一个单词的 df,我想知道它们是否在英语词典中

python - Spark join 抛出 'function' object has no attribute '_get_object_id' 错误。我该如何解决?

javascript 中断标签显示语法错误

javascript - 尝试通过 API 添加到 Google 表格的超链接

javascript - 重写 JQuery 函数(日志装饰器)

javascript - jQuery隐藏iframe文件上传

python - 如何将字符串转换为嵌套列表,元素以逗号分隔