2013-10-15 25 views
0

我有以下代码提取数值 - 分配给div的ID

<span class="namedSpan">(291640) New Account </span> 

我想有它的格式如下

<span class="namedSpan" id="div_291640"">(291640) New Account</span> 

我已经能够得到部分呈现它与标题工作

$(".namedSpan").attr("title",$(".namedSpan").html()); 

但这并不能真正解决我的问题。有什么建议么?

感谢

+0

无法理解,要生成的'id'或'title'属性? – DontVoteMeDown

+0

我需要它来生成ID。作为我的测试的一部分,我用标题试了一下。 – user1028445

回答

2

这应该是一个真正的服务器端任务,但如果你的要使用javascript,你需要使用一个正则表达式来查找该值,并且如果你有多个指定类的元素,您可以使用接受函数的attr()的超载。这里有一个解决方案:

http://jsfiddle.net/DK9sc/

$('.namedSpan').attr('id', function(index, attr) { 
    $(this).attr('id', 'div_' + $(this).text().replace(/\((\d+) \).+/, '$1')); 
}); 
+0

JasonP - 非常感谢您的帮助。它非常完美! – user1028445

1

你可以这样做:

var regex = /\d+/; 
var text = $(".namedSpan").text(); 
var number = text.match(regex)[0]; 
$(".namedSpan").attr("id", number); 

如果你有一个以上的类的namedSpan你必须指定的目标当然是其中之一。

+0

tymeJV - 非常感谢您的快速响应。代码的唯一问题是它将div分配为id = 291640,而不是id = div_291640 ......除此之外它完美运行。 – user1028445