2012-03-15 3 views
2

мне нужно сделать текст жирным внутри элементов с классом = «descTD» до первой косой черты (/), как так:Сделать часть текста жирным шрифтом (до первого «/»)

перед тем слэш/после слэш

текст внутри тд:

<td class="descTD">My text/is this</td> 

Я Javascript JQuery newbe. Любая помощь будет высоко ценится

+0

является текст обернут с некоторым сНом, пролетом, и т.д.? –

+0

yes, Мой текст/это. Просто добавил это к вопросу. спасибо – boruchsiper

ответ

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>

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; 
}​ 

Вот демо: http://jsfiddle.net/Vx4fL/

0

Что-то, как это будет делать это

DEMO: http://jsfiddle.net/Eh2ym/

$(selector).html(function(i, old){ 
    var htm= old.split('/'); 
    return '<strong>'+ htm[0] +'</strong>'+htm[1];  
}) 

+0

Кстати, если в тексте больше '/', это покажет его часть. –

+0

true ... не так много данных – charlietfl

+0

Это удаляет косые черты и разрывы, когда нет косой черты – boruchsiper

0

Предполагая, что вы получаете значение внутри некоторого тега (пролете, отд и т.д.)

var bolded = $("#my_selector").text().replace(/$(.*?)\/(.*)/,"<strong>$1</strong>/$2"); 

T он регулярное выражение говорит совпадение от начала до первого/и сохраняет это в группе захвата 1, сопоставляя остальное и помещаю в группу захвата 2, затем строит строку, которая обертывает значение в группе 1 с <strong> и </strong> и применяет/и остальное снова.

Я забыл, как JQuery позволяет изменить содержание, но я думаю, что это

$("my_selector").text(bolded); 
Смежные вопросы