1

我使用 jQuery 在我的脚本中有这些重复查询:

    if($(".splitname:contains('Kompakt')").length > 0) {
        var komText = $(".splitname:contains('Kompakt')");
        $.each(komText, function() {
            $(this).html($(this).text().replace(/Kompakt/g,"Kompakt<br />"));
        })
    }

    if($(".splitname:contains('System')").length > 0) {
        var sysText = $(".splitname:contains('System')");
        $.each(sysText, function() {
            $(this).html($(this).text().replace(/System/g,"System<br />"));
        })
    }

...和 ​​4 个类似的 if 条件。

我想将它们合并到这样的函数中:

function splitCat(splitVar, splitName) {
    var split = $(".splitname:contains('splitName')");
    ...
    ...
}

我尝试了不同的方法,但它不起作用(我没有收到错误,但函数本身没有触发)。

4

3 回答 3

3

代替

$(".splitname:contains('splitName')");

$(".splitname:contains(" + splitName + ")");



function splitCat(splitVar, splitName) {
           var split = $(".splitname:contains(" + splitName + ")");
           ...
           ...
 }
于 2013-05-29T13:31:19.260 回答
2

尝试

function splitCat(splitName) {
    var els = $('.splitname:contains("' + splitName + '")');
    var regex = new RegExp(splitName, 'g');
    els.html(function(html){
        return $(this).text().replace(regex, splitName + '<br />');
    });
}
于 2013-05-29T13:38:57.827 回答
0

你可以做:

function splitCat(splitVar, splitName) {
    if($(".splitname:contains(" + splitName + ")").length > 0) {
        var komText = $(".splitname:contains(" + splitName + ")");
        $.each(komText, function() {
            $(this).html($(this).text().replace(splitName, splitName + "<br />"));
        })
    }
}

不知道splitVar在这种情况下应该是什么。

于 2013-05-29T13:32:52.173 回答