我在更改锚标记中的href值时遇到问题。基本上,我想使用一个cluetip,它根据已登录用户的员工ID打开工具提示页面。
Cluetip Code:
$(document).ready
(
function () {
$('#sticky').cluetip({ sticky: true, closePosition: 'title', arrows: true });
$('a.jt:eq(0)').cluetip({
cluetipClass: 'jtip',
arrows: true,
dropShadow: false,
hoverIntent: false,
sticky: true,
mouseOutClose: true,
closePosition: 'title',
closeText: '<img src="Images/cross.png" alt="close"/>'
});
}
现在,可以看到锚标记:
<a class="jt" style="color: #FFFFFF;" id="Anchor_work" runat="server" href='WorkExp.aspx?Emplid=12345'>Previous Work Experience</a>
我正在尝试使用jquery更改href链接以指向正确的员工ID.So,我想到将员工ID的值存储在DIV中。
<div id="Workexp_div" runat="server"/>
JQuery使用DIV标签更改href:
$(document).ready
(
function () {
$('#sticky').cluetip({ sticky: true, closePosition: 'title', arrows: true });
$('a.jt:eq(0)').cluetip({
cluetipClass: 'jtip',
arrows: true,
dropShadow: false,
hoverIntent: false,
sticky: true,
mouseOutClose: true,
closePosition: 'title',
closeText: '<img src="Images/cross.png" alt="close"/>'
});
function showDivText() {
//divObj = document.getElementById('Workexp_Div');
divObj = document.getElementById("#<%= Workexp_Div.ClientID %>");
if (divObj) {
if (divObj.textContent) { // FF
alert(divObj.textContent);
} else { // IE
alert(divObj.innerText); //alert ( divObj.innerHTML );
}
}
}
//var new_href = "WorkExp.aspx?Emplid=" + $('#ctl00_ContentPlaceHolder1_Workexp_div').InnerText;
var new_href = "WorkExp.aspx?Emplid=" + showDivText();
$("#Anchor_work").attr("href", new_href);
//= 'WorkExp.aspx?Emplid='+ $('#ctl00_ContentPlaceHolder1_Workexp_div').InnerText;
}
);
上面的代码给出了一个错误,说当前上下文中不存在WorkExp_div。我尝试通过执行divObj = document.getElementById('Workexp_Div')删除客户端ID;但随后该对象将返回null。
有谁能告诉我如何检索div标签的值并更改标签中的href值?
非常感谢
答案 0 :(得分:1)
如果替换:
function showDivText() {
//divObj = document.getElementById('Workexp_Div');
divObj = document.getElementById("#<%= Workexp_Div.ClientID %>");
if (divObj) {
if (divObj.textContent) { // FF
alert(divObj.textContent);
} else { // IE
alert(divObj.innerText); //alert ( divObj.innerHTML );
}
}
}
使用:
function showDivText() {
var divObj = $("#<%= Workexp_Div.ClientID %>");
alert(divObj.text());
return divObj.text();
}
会发出警报并返回正确的值吗?
如果是这样,那么你可以删除它并执行:
var new_href = "WorkExp.aspx?Emplid=" + $("#<%= Workexp_Div.ClientID %>").text();