- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
因此,我尝试使用以下引用在网页上重新创建圆形导航:https://codepen.io/gzuzkstro/pen/oemMyN
但是,我对每个导航中“了解更多”按钮上的链接引用感到困惑。有 7 个导航和 1 个“rect”标签来生成“了解更多”按钮。当我放置“a href”标签时,它起作用了,但所有按钮都引用相同的 URL。 “rect”标 checkout 现在 HTML 文件的第 320 行。
我这样放置“a href”标签
<a href="index.html"><rect data-url="/industries" id="learn-more" x="280" y="250" width="90" height="30" /></a>
这一切都适用于不同导航上的所有按钮。如何在“了解更多”按钮的每个导航中动态更改链接引用?
最佳答案
编辑:因为我显然错过了问题的 rect
部分,这里有一个新的答案。旧答案保留在下面作为引用。
新答案:
简短的回答是你不知道。 Rect 不是 anchor ,因此无论是否为其添加 href 属性,都不会产生任何影响。解决此问题的最简单方法是将目标 URL 存储在一个变量中,您绑定(bind)到 rect 元素的点击处理程序可以访问该变量。
在圆圈的点击处理程序中,您更新此变量的值,然后在 rect
的点击处理程序中,您使用该变量。不过,它将是一个全局变量,所以我已经可以看到有人在下面的评论中发布了一封抗议信。
如果您不喜欢全局变量,您可以在 rect
上设置数据属性,并在点击处理程序中读取它。
关于您的实际代码,您有几个 g.service
标签,用户可以点击这些标签来选择服务。然后您有一个代表“了解更多”链接的 rect
。当用户点击 g.service
时,就是根据上述解决方案之一设置目标 URL(作为全局变量,或 rect
上的属性) >).最后,当用户点击 rect
时,您会将他们带到目标 URL。
虽然这应该可行,但这是个坏主意。使用链接的 anchor 标记以外的元素是糟糕的用户体验。例如,用户不能像往常一样右键单击复制链接或在新标签页中打开链接等。我建议您更改设计并使用 anchor 标记。中间的部分看起来不需要是 SVG。
旧答案:
由于您的代码非常复杂,而且我不想通读所有内容来弄清楚您必须修复什么,所以我将向您提供一个关于您需要做什么的大致概念。我看到您在那里使用 jQuery,所以该示例使用的是 jQuery。
var learnMore = $('.learnmore');
$('.buttons').on('click', '.topic', function (event) {
var url = $(event.target).data('url');
learnMore.attr('href', url);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<a class="learnmore" href="#foo">Learn more</a>
</div>
<div class="buttons">
<button class="topic" data-url="#foo">Foo</button>
<button class="topic" data-url="#bar">Bar</button>
<button class="topic" data-url="#baz">Baz</button>
</div>
我们有一个基本的 HTML 结构,其中有一个 anchor ,它具有我们要操作的 href
属性。我们还有几个交互元素(在示例中是 button
),它们将在单击时设置 href
。
思路是处理点击事件,读取data-url
属性,然后使用该属性设置 anchor 的href
值。
关于javascript - 如何动态更改 HTML "a href"标签上的 "rect"链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52806387/
我正在尝试通过 node.js 中的 puppeteer 抓取数据 目前,我正在寻找一个脚本,用于抓取 well.ca 某个部分中的所有数据 现在,这是我试图通过 node.js 实现的方法/逻辑 1
href=""、href="#" 和 href="javascript:void(0)" 之间有什么区别? 它们有哪些不同的用途,什么时候一个比另一个更好? 最佳答案 href=""将重新加载当前页面
这是html代码: Delivery Schedule Route Abstract Report 我有 href 值。使用 href 值,我应该找到 anchor 标记并使用 jQuery
我不确定是不是因为我使用的是 Wordpress 但 this.href 没有返回包含它们的项目的 href(例如在“联系人”上它返回 http://www.domain.net/undefined反
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (33 个答案) 关闭 8 年前。
这个问题在这里已经有了答案: Are you allowed to nest a link inside of a link? (9 个回答) 关闭 6 年前。 我有一个可点击的面板,其中有一个工具
我的 css 如下所示 ul.sometclass li a { display:inline-block; } 我的 html 看起来像 outer test
我没看明白这段代码是什么意思? a[href*=#]:not([href=#]) 谢谢! 最佳答案 简单地: a[href*=#] 获取 href 中包含 # 的所有 anchor (a)。 但是有:
document.getElementById("IDOFELEMENT"); 将其转换为链接的正确方法是什么? 我可以写吗 document.getElementById("IDOFELEME
所以我在我的 Next JS 应用程序中遇到了这个奇怪的问题,我导入了谷歌字体,如下所示 在我的浏览器中显示的不是 href,而是 data-href="...",所以问题是谷歌无法将此识别为链接
我想获取所选选项的 href 值,以便我现在可以转到使用按钮选择的链接。 这是我的代码
我正在尝试获取我的一个链接的 href 并将其克隆/复制到另一个链接的 href 这是我正在尝试的 var link = $('.topbook'); var link2 =
我基本上是试图从一个链接获取href,然后将其填充到另一个链接中: HTML: Link to thing Link to duplicate 脚本: $('.main-link').attr('hr
我使用的 CSS 工具提示必须包含在“a href”中才能工作。 iPad [add_to_cart_anchor item="ipad"]purchase the iPad[/add_to_c
我有一个以前是纯文本的电子邮件正文,但现在我把它变成了 HTML。电子邮件是使用多种方法生成的,但没有一种方法易于转换。 我有的是: Some content emailaddress@somethi
我正在尝试从网页中抓取数据,然后通过提取下一页的 href 来转到下一页。 但是,在这种情况下,包含下一页的 href 的标签是 href='#next'。使用 Chrome 检查此元素后,当我将鼠标
在我的 html 页面中,我看到一个链接,其“查看源代码”代码如下: 当我将鼠标悬停在链接上并单击它时,我看到了一个有效链接。但我无法找到生成此 URL 的位置和方式。我发现类 a.view 是在其
看完这篇文章net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/我
我想用 SvelteKit 构建一个 Web 应用程序,其中一页列出所有项目(带有潜在的搜索查询参数),然后每个单独的项目一页。如果我必须使用后端生成的所有内容以老式方式构建它,我的路径将是 /ite
此 js 搜索包含 page=fleet 的 href其中: var links = document.querySelectorAll('a[href*="page=fleet"]'); var h
我是一名优秀的程序员,十分优秀!