2013-02-03 110 views
2

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

我想无论是有这种转变为一个负责任的收获一样选择域代码:

<!-- 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代码一样,成品输出从选择标签(包含ul,li的div和类chzn-drop,chzn-results,...)中选择收获。我已经尝试过了,但我不知道如何开始选择JavaScript来使用该块,而不是尝试改变任何东西。

原因是:我希望语言切换器选择被搜索引擎优化(有链接作为链接,而不是我阅读的一个选项的某些数据属性,并且只对javascript做出反应),同时保持良好外观和功能的选择选择。

编辑
看来,这是不可能的,而无需修改插件

+0

冒着暴露无知的风险,什么是“选择选择”? –

+0

是的,它应该是jquery选择,我现在改变了标题,午夜后工作的价格 – Allisone

+0

你需要做两件事之一;执行转换或创建您自己的插件版本。您可以随时在网页上的其他地方复制链接,以实现SEO目的。 –

回答

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'); 

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

+0

但是最后我再次得到一个选择,我不想 – Allisone

+0

然后你需要编写新的插件或修改choocen来满足你的需求 – Aivar

+0

Hooray为'modi (选择器)'部分。 :) –