为了营销目的,我希望在页面加载时为特定div中的所有网址添加一个字符串,但是我的代码似乎并没有令人遗憾地工作:
$(document).ready(function() {
var trail = '?cid=marketing-string';
$("#sample-div").find('a').attr('href') + trail;
});
期望的结果将转向:
<div id="sample-div">
<a href="http://www.example.com">
</div>
向
<div id="sample-div">
<a href="http://www.example.com?cid=marketing-string">
</div>
答案 0 :(得分:1)
如果要设置属性值,则必须将值作为attrib()
函数中的第二个参数传递。
请考虑以下事项:
var trail = '?cid=marketing-string';
$("#sample-div").find('a').attr('href', $("#sample-div").find('a').attr('href') + trail);
以上代码相当于:
var trail = '?cid=marketing-string';
var url = $("#sample-div").find('a').attr('href');
$("#sample-div").find('a').attr('href', url + trail);
答案 1 :(得分:1)
您可以使用attr-attributeName-function
执行此操作:
$("#sample-div").find('a').attr('href', function(i, val){
return val + trail;
});
您的代码问题是您正确地获得了
的href$("#sample-div").find('a').attr('href');
然后正确地将trail
连接到它,但之后你没有将它设置在任何地方。那么,这就是为什么你的代码无法正常工作的原因。
答案 2 :(得分:1)
您可以轻松更改选择器以收集整个页面中的任何链接,并通过此附加文本
$(document).ready(function () {
$('#sample-div a').each(function () {
this.href += '?cid=marketing-string';
})
});
答案 3 :(得分:0)
查看 fiddle
以下是摘录。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="sample-div">
<a href="http://www.example.com" >Link</a>
</div>
private void SetText(string text)
{
using (Form2 frm = new Form2(text, serialPort1))
{
frm.ShowDialog();
}
serialPort1.DiscardInBuffer();
}