Javascript jQuery使用条件

Javascript jQuery使用条件,javascript,jquery,Javascript,Jquery,我有一个字符串需要用标签HTML包装,条件如下: <h1>Test</h1> 然后只有第一个单词将被span包装,结果: <h1><span>Test</span> Lagi ah</h1> testlagiah 在jQuery中如何做到这一点? $('*:contains(“Test”)).html(“Test”); 如果您的“测试”是静态文本,则可以通过这种方式完成。这样做: 以下是JS: function wr

我有一个字符串需要用标签
HTML
包装,条件如下:

<h1>Test</h1>
然后只有第一个单词将被
span
包装,结果:

<h1><span>Test</span> Lagi ah</h1>
testlagiah
在jQuery中如何做到这一点?

$('*:contains(“Test”)).html(“Test”);
如果您的“测试”是静态文本,则可以通过这种方式完成。

这样做:

以下是JS:

function wrapFirstWord($el, word){
    $el.each(function(){
        var txt = $(this).text();
        var wordArray = txt.split(' ');
        if(wordArray[0] === word && wordArray.length > 1){
            var newHTML = '<span>' + word + '</span>';
            for(var i = 1; i < wordArray.length; i++){
                newHTML += ' ' + wordArray[i];
            }
            $(this).html(newHTML);
        }
    });
}

$(function(){
    wrapFirstWord($('h1'),'Test');
});
函数wrapFirstWord($el,word){
$el.每个(函数(){
var txt=$(this.text();
var wordArray=txt.split(“”);
if(wordArray[0]==word&&wordArray.length>1){
var newHTML=''+word+'';
对于(var i=1;i

您只需将要检查单词($el)以及要查找的单词的元素集传递给
wrapFirstWord()

遵循CoryLarson的链接后,这里是一个更好的解决方案:

$(函数(){
$('h1')。每个(函数(){
var me=$(此);
if(/(\W+/.test(me.html())){
html(me.html().replace(/^(\w+/,“$1”);
}
});
});
希望有帮助。

$(函数(){
$(function(){
    $('h1').each(function(){
        var txt = $(this).text();
        var wordArray = txt.split(' ');

        var new_first = '<span>'+wordArray[0]+'</span>';
        var new_txt = txt .replace("wordArray[0]",new_first);
        $(this).html(new_txt);

    });
});
$('h1')。每个(函数(){ var txt=$(this.text(); var wordArray=txt.split(“”); var new_first=''+wordArray[0]+''; var new_txt=txt.replace(“wordArray[0]”,new_first); $(this.html(new_txt); }); });
请不要使用签名。此外,这里可能还有一个相关的问题和解决方案:说谢谢是错误的,JIP,我不反对用“谢谢”作为签准,只是指出OP中还包含了一个签名,FAQ对此不屑一顾。对不起,我的意思是文字测试只是为了测试目的,而不是真正的实现。第一个单词可以是
test
morning
午后
,这是否意味着您想要一些可以包装第一个单词的东西?或者您希望能够将所选单词作为参数传递给函数?我想要一些能够包装第一个单词的内容请参阅我更新的fiddle/代码。这将允许您使用任何单词和任何元素完成任务。单词
test
不是静态单词。
$('*:contains("Test")').html('<span>Test</span>'); 
function wrapFirstWord($el, word){
    $el.each(function(){
        var txt = $(this).text();
        var wordArray = txt.split(' ');
        if(wordArray[0] === word && wordArray.length > 1){
            var newHTML = '<span>' + word + '</span>';
            for(var i = 1; i < wordArray.length; i++){
                newHTML += ' ' + wordArray[i];
            }
            $(this).html(newHTML);
        }
    });
}

$(function(){
    wrapFirstWord($('h1'),'Test');
});
$(function(){
    $('h1').each(function(){
       var me = $(this);
        if(/(\W+)/.test(me.html())) {
          me.html(me.html().replace(/^(\w+)/, '<span>$1</span>'));
        }
    });
});
$(function(){
    $('h1').each(function(){
        var txt = $(this).text();
        var wordArray = txt.split(' ');

        var new_first = '<span>'+wordArray[0]+'</span>';
        var new_txt = txt .replace("wordArray[0]",new_first);
        $(this).html(new_txt);

    });
});