javascript - 未使用 jquery 中的单击功能设置属性引用

标签 javascript jquery

在我的codepen我有两个下拉菜单,每个下拉菜单都有自己的链接,目前有一个相对网址。

列表项的基本结构如下所示:

<ul class="which-way">
    <li class="which-init">Unguided I-Day Return Trips</li>
    <li data-value="value 2" class="cadja"><span class="value">beginners</span><span class="real">Darling Wine & Beer Trip</span></li>
    <li data-value="value 3" class="cadja"><span class="value">mamre-werf-khwa-ttu-culture-day-by-which-way-trips</span><span class="real">Culture & Adventure Trip</span></li>
    <li data-value="value 4" class="cadja"><span class="value">cape-west-coast-wildlife-fossil-trip</span><span class="real">Wildlife & Fossils Trip</span></li>
</ul>

使用 jquery,我设法获取带有类值的跨度内的文本。

现在我想在单击时将该值添加到 url,并且该 url 应如下所示:

例如:http://www.google.com/beginners

当我点击li后点击链接时,href不会改变。

如何将 href 更改为我想要的链接?

我的 JS 目前看起来像这样:

$(document).ready(function(){
  $("ul.which-way").on("click", function() {
    $(this).find('li').toggleClass("open-list");
    $(this).find('open-list').css("display", "block");
  });
  $("li.cadja").on("click", function(){ 
    $($(this).parent().find('.which-init')[0]).html($(this).html());
    handleDropdownOne();
  });  
});
window.handleDropdownOne = function() {
  var dropOneValue = $($($('.drowpdown-one').find('.which-init')[0]).find('span.value')[0]).text();
  console.log(dropOneValue);
};
handleDropdownOne();
$('a#trip').on("click", function(){
  $(this).attr("href", "https://www.westcoastway.co.za/"+dropOneValue);
});

请帮忙

最佳答案

在函数外部声明变量“dropOneValue”

$(document).ready(function() {
$("ul.which-way").on("click", function() {
    $(this).find('li').toggleClass("open-list");
    $(this).find('open-list').css("display", "block");
});
$("li.cadja").on("click", function() {
    $($(this).parent().find('.which-init')[0]).html($(this).html());
    handleDropdownOne();
});
});
var dropOneValue = '';
window.handleDropdownOne = function() {
dropOneValue = $($($('.drowpdown-one').find('.which-init')[0]).find('span.value')[0]).text();
console.log(dropOneValue);
};
handleDropdownOne();
$('a#trip').on("click", function() {
    $(this).attr("href", "https://www.westcoastway.co.za/" + dropOneValue);
});

关于javascript - 未使用 jquery 中的单击功能设置属性引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783692/

相关文章:

php - 将类添加到基于帖子类别的自定义帖子类型包裹的 div

javascript - 从mysql结果数组中获取值

javascript - 如何在浏览器中录制和播放(html 5 音频)

javascript - 当用户打开一个站点时,在 Magento 主页上打开一个弹出窗口一次

javascript - IE 全局变量 arrayName.className 为 null

javascript - 使用 Json 从服务器加载所有图像,并将它们显示为 Masonry

jquery - 链接在 Safari 和 chrome 中需要点击 2 次,但在 Firefox 中只需要点击 1 次

javascript - 在 momentjs 中格式化 0 会转换为 1

javascript - 将元素拖放到 iframe 中。可放置区域坐标错误,碰撞错误

javascript - 使用 JavaScript 将新元素添加到 DOM 中