【发布时间】:2015-06-24 22:39:00
【问题描述】:
您好,这是我的第一篇文章,请多多包涵。
我有一个大型“响应式”页面,它以编程方式从一堆 json 数据槽 php 加载(最多 10 个)幻灯片(我没有构建这个东西)。 我必须处理的结果是一组包含链接和图像的 div。
我需要将链接的实际 href 更改为其他内容,因为源链接和我正在处理的实际页面具有不同的结构。
基本上我需要获取href并进行比较。如果是一件事,就换另一件事。
我正在处理的示例。
样本部门想象其中有 10 个是自动生成的:
<div id="slidesdiv" class="validslider"> <a href="/something/somewhere"><img src="#" width="0px" />Firstlink</a></div>
<div id="slidesdiv" class="validslider"> <a href="/somethingelse"><img src="#" width="0px" />SecondLink</a></div>
示例代码
$(document).ready(function () {
$('div#slidesdiv a').each(function () {
if ($(this).attr('href') !== '/something/somewhere') {
$(this).attr('href', 'reallylongtring1');
} else if ($(this).attr('href') !== '/somethingelse') {
$(this).attr('href', 'reallylongstring2');
}
});
});
我遇到的问题是它没有将正确的链接应用到正确的标签。这有点奇怪。欢迎任何帮助,我希望我已经足够清楚地解释了这个问题。
我一直在研究一个 jsfiddle,我终于开始工作了,但是它给了我错误的结果。 This is a jsfiddle of that example.
【问题讨论】:
-
有多个具有相同
id的div 的事实将导致无穷无尽的麻烦。如果可能,请选择类 (validslider)。此外,您将根据href的不 是否相等进行替换 - 因此对于除/something/somewhere之外的其他任何内容,您将用@987654330 替换href@. -
基于类选择的版本,并根据
href确实 相等的内容进行替换:jsfiddle.net/drped9pv/4 -
是的,多个 id 是一个问题,我将在“生成代码”中解决这个问题。还要感谢保罗。它似乎在小提琴上效果很好,我会对其进行测试并回来......到目前为止,这对我来说似乎是一个可行的答案。谢谢。
标签: jquery replace hyperlink each attr