我需要使用class =“descTD”在元素内部加粗文本,直到第一个正斜杠(/),如下所示:
斜杠 /斜杠后
文本在td:
中 <td class="descTD">My text / is this</td>
我是一个javascript jQuery newbe。任何帮助将不胜感激
答案 0 :(得分:3)
你可以使用这样的东西:
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>
答案 1 :(得分:0)
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;
}
答案 2 :(得分:0)
这样的事情会做到这一点
DEMO:http://jsfiddle.net/Eh2ym/
$(selector).html(function(i, old){
var htm= old.split('/');
return '<strong>'+ htm[0] +'</strong>'+htm[1];
})
答案 3 :(得分:0)
假设您正在获取某个标记(span,div等)中的值
var bolded = $("#my_selector").text().replace(/$(.*?)\/(.*)/,"<strong>$1</strong>/$2");
常规表达式表示从开始到第一个匹配/并存储在捕获组1中,匹配其余部分并放入捕获组2,然后构建一个字符串,用{{1}包装组1中的值}和<strong>
并重新打开/和其余部分。
我忘记了jQuery如何让你改变内容,但我认为它是
</strong>