我有这个范围:
<span id="inicial"></span>
点击按钮内的这个javascript:
var pat = /\/\S+\//i;
context = '';
context = $('#cmd').attr('value');
context= context.match(pat);
alert(context); //this gives correctly the string i need
if (context.length){
$('#inicial').text(context); //but it fails to change the text inside the span
}
可能是什么问题?
另外我注意到它会影响整个点击功能,它只是停止工作。可能是什么原因?
答案 0 :(得分:4)
问题是.match()
返回数组,而不是字符串。但.text(parm)
要求parm
为字符串。
所以在.match()
之后,您应该执行以下操作:
context = context[0];
或使用其他一些方法将数组中的至少第一个元素转换为字符串,如果不是完整的数组。
以下是.match()
:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match
.text(parm)
的参考:http://api.jquery.com/text/
答案 1 :(得分:0)
尝试 - 根据@Jonathan M编辑 答案
$('#inicial').html(context[0]);