2

是否可以使用选择的收获 jquery 而不必使用默认<select><option>abc</option></select>标记?

我希望将这种代码转换为响应式收获,例如选择的字段:

<!-- Language Switcher -->
<ul>
  <li><a href="abc.com/lang/german">Switch language to german</a></li>
  <li><a href="abc.com/lang/english">Switch language to english</a></li>
</ul>

或者,我也可以编写 html 代码,就像从 select 标记(带有 ul、li 的 div 和 chzn-drop、chzn-results 等类)生成的最终输出一样。而且我已经尝试过了,但我不知道如何启动选择的 javascript 以按原样使用该块,而不是尝试再转换任何东西。

原因是:我希望选择语言切换器进行 SEO(将链接作为链接,而不是作为我阅读的选项的某些 data-* 属性,并且只对 javascript 做出反应),同时保持美观和功能选择-选择。

编辑
似乎不修改插件这是不可能的

4

1 回答 1

0

您可以使用自己的包装器或插件来使其可以接受 choocen 示例,例如:

<ul id="TesT">
  <li><a href="abc.com/lang/german">Switch language to german</a></li>
  <li><a href="abc.com/lang/english">Switch language to english</a></li>
</ul>

小脚本:

function modi(selector){
   $(selector).each(function(){
   var html ="";
   $('li',this).each(function(){
      html +='<option value="'+$('a',this).attr('href')+'">'+$('a',this).html()+'</option>';
   });
   $(this).replaceWith('<select>'+html+'</select>').chosen();
   });
}

并称它为:

modi('#TesT');

目前我的脚本替换了旧的原始标记,但您也可以使用隐藏和添加新元素。

于 2013-04-12T10:45:37.473 回答