将部分文本设为粗体(最多到第一个'/')
Make part of text bold (up to first '/')
我需要在带有class="descTD"的元素内将文本加粗,直到第一个正斜杠(/),如下所示:
斜线前/斜线后
文本在td:内
<td class="descTD">My text / is this</td>
我是一个javascript jQuery新手。任何帮助都将不胜感激
您可以使用这样的东西:
if($("#textme").text().indexOf("/")>0){
var t=$("#textme").text();
$("#textme").html("<b>" + t.substring(0,t.indexOf('/')-1) + "</b>" + t.substring(t.indexOf('/')));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="textme">before slash / after slash</div>
JS--
//get the text to manipulate
var str = $('#element').text(),
//get the position of the first forward slash
pos = str.indexOf('/');
//set the HTML of the element to include a span that has a class to alter the display of the text
//(just for what's before the first forward slash)
$('#element').html('<span class="bold">' + str.substr(0, pos) + '</span>' + str.substr(pos));
CSS--
.bold {
font-weight : bold;
}
下面是一个演示:http://jsfiddle.net/Vx4fL/
像这样的东西可以实现
演示:http://jsfiddle.net/Eh2ym/
$(selector).html(function(i, old){
var htm= old.split('/');
return '<strong>'+ htm[0] +'</strong>'+htm[1];
})
假设您正在获取某个标记(span、div等)内部的值
var bolded = $("#my_selector").text().replace(/$(.*?)'/(.*)/,"<strong>$1</strong>/$2");
正则表达式表示从一开始到第一个匹配/并将其存储在捕获组1中,匹配其余部分并放入捕获组2中,然后构建一个字符串,用<strong>
和</strong>
包装组1中的值,并将/和其余部分重新固定。
我忘了jQuery是如何让你更改内容的,但我认为它是
$("my_selector").text(bolded);
相关文章:
- 单击按钮显示不同的文本,重复第一个文本
- 为什么在文本框内按回车键,单击第一个按钮并提交表单
- jQuery UI日期选择器只响应第一个文本框
- 如何使用剑道富文本编辑器自动大写第一个字母
- 循环通过表格查找第一个具有 CSS CSSstablelisttdselect 的 TD 文本
- 获取javascript中以a到Z之间的特定字符开头的第一个文本的位置
- 使用.on的多个下拉菜单选择文本仅适用于第一个下拉菜单
- 如何验证文本框,使我不能输入零作为第一个数字
- PHP 验证仅验证表单中的第一个文本框
- JQuery 专注于 aspxdockpanel 中的第一个文本框
- 第一个文本框上的自动选项卡不起作用
- Jquery focus()只聚焦于第一个文本输入
- 第一个文本内容的jQuery选择器
- 如何将相同的日期第一个文本框设置为第二个文本框,当计数器字段
- 当第一个文本框的值为maxLenght=3时,如何将焦点转移到第二个文本框上
- 从表单内的第一个文本区域获取id
- 如何在绕过和时获取第一个文本节点
- 如何在包含粗体和斜体标签时获取字符串的第一个文本节点
- 当点击第一个文本框's单选按钮时,第二个文本框应该处于非活动状态
- 我有两个文本框,第一个文本框的值1表示第二个文本框的值不能超过5