【问题标题】:Script to convert text inside <li> lines into search links将 <li> 行内的文本转换为搜索链接的脚本
【发布时间】:2014-10-25 21:22:12
【问题描述】:

我有几个内部带有 LI 的 DIV,但我想转换 LI 内部属于特定 DIV id 的文本,例如:

<div id="filtro_mod">
  <ul>
    <li><strong>HP DesignJet 100 Printer series</strong>
      <ul>
        <li>HP DesignJet 100 Printer - C7796A</li>
        <li>HP DesignJet 100 Printer - C7796AR</li>
      </ul>
    </li>
    <li><strong>HP DesignJet 100 Plus Printer series</strong>
      <ul>
        <li>HP DesignJet 100 Plus Printer - C7796C</li>
        <li>HP DesignJet 100 Plus Printer - C7796CR</li>
      </ul>
    </li>
  </ul>
</div>

所以我假装转换这个:

<li>HP DesignJet 100 Printer - C7796A</li>

进入这个:

<li><a href="http://mywebsite.com/pesquisa?controller=search&orderby=position&orderway=desc&search_query=HP%20DesignJet%20100%20Printer%20-%20C7796A+&submit_search=">HP DesignJet 100 Printer - C7796A</a></li>

但是,在某些行中,一个 LI 内有一个 STRONG 和其他 LI。示例:

<ul>
  <li><strong>HP DesignJet 100 Printer series</strong>
    <ul>
      <li>HP DesignJet 100 Printer - C7796A</li>
      <li>HP DesignJet 100 Printer - C7796AR</li>
    </ul>
  </li>
</ul>

我认为这可能就像一个将纯 urls 文本转换为如下链接的脚本:

How to replace plain URLs with links?

【问题讨论】:

  • 当你说“假装”时,你的意思是“尝试”吗?
  • @webeno,我认为他们的意思是假装,因为看起来他们没有尝试过任何东西。

标签: javascript jquery html regex anchor


【解决方案1】:
$('#filtro_mod li li').each(function(){
    var html = $(this).html();
    $(this).html('<a href="theurl.com?desc=' + html + '">' + html + '</a>');
});

【讨论】:

  • 这太具有破坏性了。
  • 只考虑最顶层的li 元素!除此之外,你还没有调用html方法,缺少()
  • 没问题,请使用不太通用的选择器!
  • @Vohuman 我进行了修改,以便在给定的div 中选择任何li。除此之外,不确定您可能会从答案中寻找什么。
  • $('#filtro_mod li li') 不是更好吗?
猜你喜欢
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-30
  • 2011-07-10
  • 2012-10-03
相关资源
最近更新 更多