jQuery - 如果div有两个单词,则通过第一个单词敲击

时间:2016-11-15 12:00:58

标签: jquery

我有一段jQuery,它会查看div,然后查看第一个单词。这样可以正常工作,但是如果那个div只有一个字我不希望它通过。

任何人都知道如何实现这一目标?

代码:

jQuery('.class').each(function(index) {

//get the first word
var firstWord = $(this).text().split(' ')[0];

//wrap it with strike
var replaceWord = "<strike>" + firstWord + "</strike>";

//create new string with span included
var newString = $(this).html().replace(firstWord, replaceWord);

//apply to the divs
jQuery(this).html(newString);
});

3 个答案:

答案 0 :(得分:1)

jQuery('.class').each(function(index) {

// get the word array
var words = $(this).text().split(' ')

if ( words.length === 1 ) {
    // nothing to see here
    }
else  
    {
    //get the first word
    var firstWord = $(this).text().split(' ')[0];

    //wrap it with strike
    var replaceWord = "<strike>" + firstWord + "</strike>";

    //create new string with span included
    var newString = $(this).html().replace(firstWord, replaceWord);

    //apply to the divs
    jQuery(this).html(newString);
    }

});

答案 1 :(得分:0)

您可以使用几种可能的条件中的任何一种来检查实际上是否有第二个单词,然后才运行您的代码。一个例子是:

(正如AB Udhay所建议的那样,在以这种方式拆分之前使用trim()总是更好。)

jQuery('.class').each(function(index) {

var words = $(this).text().trim().split(' ');
//get the first word
var firstWord = words[0];

if( typeof words[1] !== "undefined" )
{

//wrap it with strike
var replaceWord = "<strike>" + firstWord + "</strike>";

//create new string with span included
var newString = $(this).html().replace(firstWord, replaceWord);

//apply to the divs
jQuery(this).html(newString);
}//if there's second word also
});

答案 2 :(得分:0)

你无法检查public double Total { get { return this.Qty + this.Qty1; } } ,就像这段代码一样

$(this).text().split(' ').length > 1