我需要从Javascript中添加一些属性,因为我无法编辑主代码所在的文件,这是一个jsp文件(不要问我原因)。
如果您看到该元素,它应如下所示:
<a class="callBtn dartClick callfix"
name="contact_us_purchase" dartId="2014_HLI_HLG_Home_Call_Us_CTA_OnClick"
href="tel:1-<loans:fmtPhone phone="${contactPhoneNumber}"
separator="-" areaCodeParens="false" />">Call</a>
到目前为止,这是我的jquery代码:
var contact = $("[name='contact_us_equity']");
contact.attr({
'href': 'tel:1-<loans:fmtPhone phone="${contactPhoneNumber}"',
'separator': '-',
'areaCodeParens': 'false'
});
问题在于,href
元素正在呈现,因此在html中看起来像这样:
<a class="callBtn dartClick callfix"
name="contact_us_equity" dartid="2014_HLI_HLG_Home_Call_Us_CTA_OnClick"
href="tel:1-<loans:fmtPhone phone="${contactPhoneNumber}""
separator="-" areacodeparens="false">Call</a>
有什么建议吗?
答案 0 :(得分:0)
如果我理解正确,您希望在HTML中存储一些任意数据属性,而不会实际更改HTML元素“外观和行为”的方式。
要实现此目的,您可以使用$().data()
,例如:
var myData = 'tel:1-<loans:fmtPhone phone="${contactPhoneNumber}"';
$("[name='contact_us_equity']").data("href", myData);
您还可以使用$().attr()
,为所有新属性使用data-
前缀:
var myData = 'tel:1-<loans:fmtPhone phone="${contactPhoneNumber}"';
$("[name='contact_us_equity']").attr("data-href", myData);
它们之间的唯一区别是,前者不会修改DOM树本身 - 它将数据存储在jQuery的内部结构中。
答案 1 :(得分:0)
这很好..
var contact = $("[name='contact_us_purchase']");
contact.attr({
'href': 'tel:1-<loans:fmtPhone phone="${contactPhoneNumber}"',
'separator': '-',
'areaCodeParens': 'false'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a
class="callBtn dartClick callfix"
name="contact_us_purchase"
dartId="2014_HLI_HLG_Home_Call_Us_CTA_OnClick"
separator="- "
areaCodeParens="false" />Call</a>
<br/>
(Right click and inspect to see the href)
答案 2 :(得分:0)
$(document).ready(_ => {
var contact = $('[name=contact_us_purchase]');
contact.attr('href', 'tel:1-<loans:fmtPhone phone="${contactPhoneNumber}" separator="-" areaCodeParens="false" />');
console.log(contact.attr('href'))
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="callBtn dartClick callfix" name="contact_us_purchase">Call</a>
&#13;