在添加href后删除部分href时遇到问题
我试图创建一个指定类并将id添加到目标href的切换。我还希望能够从href中删除tags
变量的内容,而无需删除链接的其余部分。在添加href后删除部分href时遇到问题
我的问题: 那么,当我点击一个链接,它正确地将它分配给href,但是当我点击并且已经活动的链接时,它将删除类罚款,但不删除添加到href的内容。例如,如果我点击“施工”,我得到http://bshoults.com/construction&
这是正确的,但是当我再次单击时,我得到http://bshoults.com/construction&construction&
而不是http://bshoults.com
。以下代码将删除整个href而不仅仅是construction&
部分。
http://jsfiddle.net/tewvd/1/
$('.tags li a').click(function() { // set variable to get the href of .button
var _href = $('.button').attr("href");
// if has class 'selected'
if ($(this).hasClass('selected')) {
// remove class 'selected'
$(this).removeClass('selected');
// set variable to get tag from id of item
var tags = ($(this).attr('id') + "&");
// create link based on href and tags
$('.button').removeAttr("href", tags);
}
// otherwise give it a class of 'selected'
else {
$(this).addClass('selected');
// set variable to get tag from id of item
var tags = ($(this).attr('id') + "&");
// create link based on href and tags
$('.button').attr("href", _href + tags);
}
});
这里的HTML:
<ul class="tags"> <li><a href="javascript: void(0)" id="construction">construction</a></li>
<li><a href="javascript: void(0)" id="saturday">saturday</a></li>
<li><a href="javascript: void(0)" id="singles">singles</a></li>
<li><a href="javascript: void(0)" id="sunday+morning">sunday morning</a></li>
<li><a href="javascript: void(0)" id="teaching">teaching</a></li>
</ul>
<p><a href="http://bshoults.com/" class="button">Next Step →</a></p>
回答:
removeAttr()
不替代属性的文本。我只是删除了整个属性。
如果你有...
// create link based on href and tags $('.button').removeAttr("href", tags);
...你需要有
$('.button').attr('href', $('.button').attr('href').replace(tags, ''));
以上是 在添加href后删除部分href时遇到问题 的全部内容, 来源链接: utcz.com/qa/261053.html