我是Jquery的新手并且有一个可能令人困惑的问题。但是非常感谢你检查这个。我想修改元素中的文本。例如:
<div class="testit">test it for no.1 and test.com <img=...> <a href="http://test.com/">test it</a></div>
<div class="testit">another test for No.2 and test2.com and test.com <img=...> <a href="http://test2.com/">test2</a> Another description</div>
我想使用JQuery修改每个类“testit”元素中的“some text conents”部分,但我确实希望保持其他标记元素不变。例如:所需的输出将是:
<div class="testit">test it for no.1 and <a href="http://test.com">test.com</a> <img=...> <a href="http://test.com">test it</a></div>
<div class="testit">another test for No.2 and <a href="http://test2.com">test2.com</a> and <a href="http://test.com">test.com</a> <img=...> <a href="http://test2.com/">test2</a> Another description</div>
以下JQuery可以获取原始内容但无法修改它们。你能建议我如何更改jquery程序吗?
var getTextNodesIn = function(el) {
return jQuery(el).find().andSelf().contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
});};
var current_text=getTextNodesIn(this);
current_text.text('new contents here');
答案 0 :(得分:0)
添加了一个Regex来检测字符串是否包含值
var count = 1;
$('.testit').each(function () {
//check if the test string is found
var str = $(this).text();
var patt = new RegExp("test.com");
var res = patt.test(str);
if(res){
$(this).text("new text contents No." + count);
count++;
}
});