首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击函数中锁定span的字符串?

如何在单击函数中锁定span的字符串?
EN

Stack Overflow用户
提问于 2018-09-03 05:21:26
回答 4查看 83关注 0票数 0

我正试图在代码中捕获“横幅名称”。

代码语言:javascript
复制
<div class = 'pdf-area'>
    <ul class = 'pdf list'>
        <li>
            <a href="#" onclick="javascript:pdfDownload('/pdf_name/spec_name.pdf'); return false;"><span class="icon-left"></span> 'banner name'</a>

        </li>
   </ul>
</div>

这是我的尝试。

代码语言:javascript
复制
$("div.pdf-area ul a").click(function(i) {
    var txt = $(i.target).text();
    console.log(txt);
});

当我运行这段代码时,我没有得到我想要的值。

我怎么才能说出“baaner的名字”?

(href= # -> )--这不是我的代码,也没有任何可以修改这段代码的自动特性。我只能在这种情况下提取值。)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-03 05:37:30

不需要使用选择器添加单击事件。只需将this作为第一个参数传递。然后,在函数内部,在该对象上使用find()来锁定span

尝试以下几点:

代码语言:javascript
复制
function pdfDownload(el, link){
  var name = $(el).find('span.icon-left').text();
  console.log(name);
};
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = 'pdf area'>
  <ul class = 'pdf list'>
    <li>
      <a href="#" onclick="javascript:pdfDownload(this, '/pdf_name/spec_name.pdf'); return false;"><span class="icon-left"> 'banner name'</span></a>
    </li>
 </ul>
</div>

如果不想更改

代码语言:javascript
复制
$(".pdfarea > ul a > span").click(function() {
    var txt = $(this).text();
    console.log(txt);
});
function pdfDownload(){}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = 'pdfarea'>
  <ul class = 'pdflist'>
    <li>
      <a href="#" onclick="javascript:pdfDownload('/pdf_name/spec_name.pdf'); return false;"><span class="icon-left"> 'banner name'</span></a>
    </li>
 </ul>
</div>

如果在span之外的横幅名称尝试如下:

代码语言:javascript
复制
$("div.pdf-area ul a").click(function() {
    var txt = $(this).text();
    console.log(txt);
});

function pdfDownload(){}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = 'pdf-area'>
  <ul class = 'pdf list'>
    <li>
      <a href="#" onclick="javascript:pdfDownload('/pdf_name/spec_name.pdf'); return false;"><span class="icon-left"></span> 'banner name'</a>

    </li>
 </ul>
</div>

票数 2
EN

Stack Overflow用户

发布于 2018-09-03 05:31:38

代码语言:javascript
复制
<div class = 'pdf-area'>
    <ul class = 'pdflist'>
        <li>
            <a href="#" onclick="javascript:pdfDownload('/pdf_name/spec_name.pdf'); return false;"><span class="icon-left"> 'banner name'</span></a>

        </li>
   </ul>
</div>

$(document).on('click','.pdflist a',function(){
      alert($(this).text());
})

以上单击事件将给出当前元素的文本。

小提琴:https://jsfiddle.net/gokulmaha/vt3b0keu/2/

票数 0
EN

Stack Overflow用户

发布于 2018-09-03 05:37:47

您可以删除$("div.pdf-area ul a").click(function(i)..并创建pdfDownload函数,该函数将处理这两种情况

代码语言:javascript
复制
function pdfDownload(e, path) {
  console.log(path)
  e.preventDefault();
  var txt = $(e.target).text();
  console.log(txt);
};
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='pdf-area'>
  <ul class='pdf list'>
    <li>
      <a href="#" onclick="pdfDownload(event ,'/pdf_name/spec_name.pdf')"><span class="icon-left"> 'banner name'</span></a>

    </li>
  </ul>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52143537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档