jquery,追加html

jquery,追加html,jquery,regex,append,Jquery,Regex,Append,我有这种HTML: <h1> Text1 Text2 </h1> Text1 Text2 我想通过jquery在以下位置更改此HTML: <h1> <span>Text1</span> Text2 </h1> Text1 Text2 我的头是来只是附加和正则表达式(也许你有另一个想法),不幸的是我没有经验的“正则表达式”。“Text1”是可更改的。。它应该是“h1”中的第一个文本 谁能帮帮我 谢谢 获取文本 var

我有这种HTML:

<h1> Text1 Text2 </h1>
Text1 Text2
我想通过jquery在以下位置更改此HTML:

<h1> <span>Text1</span> Text2 </h1>
Text1 Text2
我的头是来只是附加和正则表达式(也许你有另一个想法),不幸的是我没有经验的“正则表达式”。“Text1”是可更改的。。它应该是“h1”中的第一个文本 谁能帮帮我

谢谢

获取文本

var text = $('h2').text();
var $arr = text.split(' ');
现在数组中有了值,您可以循环init或jsut使用$arr[0]和$arr[1]随时使用它。

获取文本

var text = $('h2').text();
var $arr = text.split(' ');

现在数组中有了值,您可以循环init或jsut使用$arr[0]和$arr[1]来随意使用它。

下面将用
span
标记来包装第一个
h1
标记的第一个单词

$("h1").html($("h1").html().replace(/^\w+\b/, function(result) {
    return "<span>" + result + "</span>";
}));
$($h1”).html($($h1”).html().replace(/^\w+\b/,函数(结果){
返回“+结果+”;
}));

以下内容将第一个
h1
标记的第一个单词用
span
标记进行包装

$("h1").html($("h1").html().replace(/^\w+\b/, function(result) {
    return "<span>" + result + "</span>";
}));
$($h1”).html($($h1”).html().replace(/^\w+\b/,函数(结果){
返回“+结果+”;
}));

假设您希望将每个H2的第一个单词包装在一个范围内,并且H2中保证没有HTML标记,那么您可以按如下方式操作:

// For each H2.
$('h2').each(function() {
  // Get text.
  var text = $(this).text();
  // Split into words.
  var words = text.split(' ');
  // Wrap the first word.
  if (words.length > 0) words[0] = '<span>' + words[0] + '</span>';
  // Join the results into a single string.
  var result = words.join(' ');
  // Put the results back into the H2.
  $(this).html(result);
});
//对于每个H2。
$('h2')。每个(函数(){
//获取文本。
var text=$(this.text();
//分成几个字。
var words=text.split(“”);
//把第一个单词包起来。
如果(words.length>0)字[0]=''+字[0]+'';
//将结果合并到单个字符串中。
var结果=words.join(“”);
//将结果放回H2中。
$(this).html(result);
});
或使用正则表达式:

// For each H2.
$('h2').each(function() {
  $(this).html($(this).text().replace(/^(\W*)\b(\w+)\b/, '$1<span>$2</span>'));
});
//对于每个H2。
$('h2')。每个(函数(){
$(this).html($(this).text().replace(/^(\W*)\b(\W+)\b/,“$1$2”);
});

假设您希望将每个H2的第一个单词包装在一个范围内,并且H2中保证没有HTML标记,那么您可以按如下方式操作:

// For each H2.
$('h2').each(function() {
  // Get text.
  var text = $(this).text();
  // Split into words.
  var words = text.split(' ');
  // Wrap the first word.
  if (words.length > 0) words[0] = '<span>' + words[0] + '</span>';
  // Join the results into a single string.
  var result = words.join(' ');
  // Put the results back into the H2.
  $(this).html(result);
});
//对于每个H2。
$('h2')。每个(函数(){
//获取文本。
var text=$(this.text();
//分成几个字。
var words=text.split(“”);
//把第一个单词包起来。
如果(words.length>0)字[0]=''+字[0]+'';
//将结果合并到单个字符串中。
var结果=words.join(“”);
//将结果放回H2中。
$(this).html(result);
});
或使用正则表达式:

// For each H2.
$('h2').each(function() {
  $(this).html($(this).text().replace(/^(\W*)\b(\w+)\b/, '$1<span>$2</span>'));
});
//对于每个H2。
$('h2')。每个(函数(){
$(this).html($(this).text().replace(/^(\W*)\b(\W+)\b/,“$1$2”);
});

Text1将要更改,应自动更新第一个单词以匹配任何单词<代码>\w匹配单词字符(字母、数字和下划线)。为了更通用,您可以使用
来匹配任何内容。Text1将要更改,它应该自动更新为匹配任何单词的第一个单词<代码>\w匹配单词字符(字母、数字和下划线)。为了更通用,您可以使用
匹配任何内容。