我如何从带有id =“old- [id]”的span获得“Some text”并将其放入id =“new- [id]”? span id="old-1"Some text/spanspan id="new-1"/spanspan id="old-5"Some text/spanspan id="new-5"/span 我不知道如何在没有substring()函
<span id="old-1">Some text</span> <span id="new-1"></span> <span id="old-5">Some text</span> <span id="new-5"></span>
我不知道如何在没有substring()函数的情况下获取id的数字部分.
我认为存在是更正确的解决方案.
谢谢.
对于单个ID,您可以这样做:
$("#new-1").text($("#old-1").text());
如果您有一堆要执行此操作的顺序ID,则可以执行以下操作:
for (var i = 1; i <= 5; i++) { $("#new-" + i).text($("#old-" + i).text()); }
如果它是HTML,而不仅仅是文本,您可以使用.html()代替上面代码中的.text().
$("#new-1").html($("#old-1").html());
要么
for (var i = 1; i <= 5; i++) { $("#new-" + i).html($("#old-" + i).html()); }
如果要查找ID为“old-”的所有对象,并处理所有这些对象,无论它们上面有多少和哪些数字,您都可以这样做:
$('[id^="old-"]').each(function() { var newid = this.id.replace(/old/, "new"); $("#" + newid).html($(this).html()) })
这将创建一个jQuery对象,其中所有对象的id都以“old-”开头,然后将“old”替换为“new”以创建目标id值,并使用它将HTML从源复制到目标.
如果在名为elem的变量中有一个给定对象,并且只想提取id值的数字部分,则可以使用常规表达式来匹配数字部分,如下所示:
var matches = elem.id.match(/\d+$/); if (matches) { var numString = matches[0]; }