Javascript 选择逗号前的文本字符串,将其设置为大写

Javascript 选择逗号前的文本字符串,将其设置为大写,javascript,html,arrays,string,Javascript,Html,Arrays,String,好的——我有一个全名字段(姓、名)。返回的数据不是姓和名,而是全名。然后最后,首先打印。我只想选择姓氏(逗号之前的所有内容),并将其设置为大写 在我的示例中,我可能混合了jQuery和javascript,但我不是很肯定——还是个新手。但是,我在示例中所做的是: function splitLastName(){ var splitNameArray = $('[data-dojo-attach-point|="physcianNameNode"]').split(","); var lastN

好的——我有一个全名字段(姓、名)。返回的数据不是姓和名,而是全名。然后最后,首先打印。我只想选择姓氏(逗号之前的所有内容),并将其设置为大写

在我的示例中,我可能混合了jQuery和javascript,但我不是很肯定——还是个新手。但是,我在示例中所做的是:

function splitLastName(){
var splitNameArray = $('[data-dojo-attach-point|="physcianNameNode"]').split(",");
var lastName = splitNameArray[0];
var firstName = splitNameArray[1];
lastName.wrap('<span class="isUppercase" />');
}​
函数splitLastName(){
var splitNameArray=$('[data dojo attach point |=“physicannameneode”]')。split(“,”);
var lastName=splitNameArray[0];
var firstName=splitNameArray[1];
lastName.wrap(“”);
}​
基本上,我设置了一个字段变量——我已经测试过它是否准确地获取了我想要它获取的元素。我将字符串转换成一个数组,由逗号字段分割。然后将数组的两部分设置为各自的变量。最后,尝试将lastName字符串包装在添加“isUppercase”类的范围中。我知道我做错了什么事

function splitLastName(){
    $('[data-dojo-attach-point|="physcianNameNode"]').html(function(i, v) {
        var names = v.split(',');
        return '<span class="isUppercase">'  +names[0] + '</span>,' + names[1];
    });
}


请注意,我使用的是
.each()
,因此无论
$(“[data dojo attach point |=“PhysicannameNode”]”)如何,上面的代码都可以工作。

问题是您正在尝试拆分一个JQuery对象

我已经更新了您的示例:

函数splitLastName(){
var-element=$('[data-dojo-attach-point |=“physicannamenode”]');//查找元素
var html=element.html();//获取DIV元素的内容
var splitNameArray=html.split(,“”;//用逗号分割值
var lastName=splitNameArray[0];//存储姓氏
var firstName=splitNameArray[1];//存储第一个名称
var newHtml=''+lastName+','+firstName;//使用解析后的值创建新的html
html(newHtml);//将新的html分配给原始的DIV元素(覆盖旧的)
}

此行出现问题:

var splitNameArray = $('[data-dojo-attach-point|="physcianNameNode"]').split(",");
符号:

$('< some name >')
var splitNameArray = ($('[data-dojo-attach-point|="physcianNameNode"]').html()).split(",");
因为这将获取该选择器中包含的字符串,然后对其执行拆分。同样,如果它位于输入中,则需要使用适当的处理程序来获取值:

var splitNameArray = ($('[data-dojo-attach-point|="physcianNameNode"]').val()).split(",");
这将从输入中提取值,然后执行拆分。如果您的字符串是html格式的,您也可以使用以下符号获取它:

$('< some name >')
var splitNameArray = ($('[data-dojo-attach-point|="physcianNameNode"]').html()).split(",");
这将提取html并执行相应的拆分操作


希望这能有所帮助。

我认为这是因为您试图拆分JQuery对象,您选择的对象是什么?(被拆分的位)。。。你需要从这个对象中得到一个字符串值,如果你马上调用它,你不认为你需要把它变成一个函数,但这是一个很好的解决方案+1.
var splitNameArray = ($('[data-dojo-attach-point|="physcianNameNode"]').html()).split(",");