Javascript decodeURI问题-超链接变成纯文本

Javascript decodeURI问题-超链接变成纯文本,javascript,sharepoint,decodeuricomponent,Javascript,Sharepoint,Decodeuricomponent,我正在开发Sharepoint应用程序。他们的功能之一是从sharepoint网站列表中获取联系人详细信息。 以下是我的代码: var currentOpeningContent = '<h4 onclick="ShowJobDetail(\'' + encodeURI(currentOpeningTitle.text()) + encodeURI(currentOpeningRR.text()) '\');">'+Show details+'</h4>'; $("#o

我正在开发Sharepoint应用程序。他们的功能之一是从sharepoint网站列表中获取联系人详细信息。 以下是我的代码:

var currentOpeningContent = '<h4 onclick="ShowJobDetail(\'' + encodeURI(currentOpeningTitle.text()) + encodeURI(currentOpeningRR.text()) '\');">'+Show details+'</h4>';

$("#open_jobs").append(currentOpeningContent);

function ShowJobDetail(title, roles)
{
    $(".job_page_title").html(decodeURI(title));
    $(".job_roles").html(decodeURI(roles));
}
var currentOpeningContent=''+显示详细信息+'';
$(“#打开#作业”).append(currentOpeningContent);
功能ShowJobDetail(标题、角色)
{
$(“.job_page_title”).html(decodeURI(title));
$(“.job_roles”).html(decodeURI(roles));
}
唯一的问题是,当在“角色”中传递电子邮件id时,它会因为URI而变成纯文本。
但我想要的是,当用户单击电子邮件id时,弹出窗口应该会打开。

我不完全理解您的问题,但我认为代码已损坏

因为您已经在使用jQuery,所以不要做这种丑陋的事情:

var currentOpeningContent = '<h4 onclick="ShowJobDetail(\'' 
    + encodeURI(currentOpeningTitle.text())
    + encodeURI(currentOpeningRR.text()) '\');">'
    + Show details
    + '</h4>';

$("#open_jobs").append(currentOpeningContent);
var currentOpeningContent=''
+显示细节
+ '';
$(“#打开#作业”).append(currentOpeningContent);
请这样做:

var $currentOpeningContent = $('<h4>Show details</h4>').click(encode);

function encode(e){
    var title = '' + encodeURI(currentOpeningTitle.text()) + encodeURI(currentOpeningRR.text());

    ShowJobDetail(title, roles); //"roles" is undefined! that's probably not wat you want
}

$("#open_jobs").append($currentOpeningContent);
var$currentOpeningContent=$(“显示详细信息”)。单击(编码);
函数编码(e){
var title=''+encodeURI(currentOpeningTitle.text())+encodeURI(currentOpeningRR.text());
ShowJobDetail(标题、角色);/“角色”未定义!这可能不是您想要的
}
$(“#打开#作业”).append($currentOpeningContent);
这是你代码的1:1“抄本”。当您单击“h1”时,可以看到“角色”未定义。似乎您刚刚忘记了函数参数之间的昏迷


注意:不要将JS显式地放在HTML字符串中。那只是自找麻烦。另外,在使用jQuery时,尽量避免使用纯html字符串,而使用jQuery的“html生成”方法。

查看currentOpeningTitle.text和currentOpeningRR.text的示例值会很有帮助。另见问题: