-1

我有以下情况。实际上,通过渲染html下拉框后的过程显示如下值

 <select id="ht" class="input-box quick-jump-menu" name="ht">
<option selected="selected" value="">Jump straight to a below option</option>

<option value="<span id="_SE_CP" _SE_CPt="default"><a href="Google.co.uk"  alt="Lakeside" target="_self" class="">Lakeside</a></span>">
       Lakeside
</option>

<option value="<span id="_SE_CP" _SE_CPt="default"><a href="http://www.google.com" alt="Alvaston Hall" target="_self" class=""></a></span>">
       Alvaston
</option>

通过某些过程,它在那里使用了一些 span 标签,我只需要 value 属性中的 url,如下所示

 <select id="ht" class="input-box quick-jump-menu" name="ht">
<option selected="selected" value="">Jump straight to a below option</option>

<option value="Google.co.uk">
       Lakeside
</option>

<option value="http://www.google.com">
       Alvaston
</option>

在这里,我只需要在“option”标签的“Value”属性中设置 URL 值。我认为这可以通过 jquery 来完成。

如果可能,请建议任何人,我们将不胜感激

4

5 回答 5

2

如果您正在呈现这样的选项标签并且您想在客户端更改它,这是一个快速但肮脏的解决方案:

$("#ht option").each(function(){
    $(this).attr("value", $($(this).attr("value")).find("a").attr("href"));
});
于 2012-11-28T16:32:56.173 回答
2
​var tempDiv=$('<div/>');
$('#ht option').each(function(){
    tempDiv.html($(this).val());
    $(this).val(​​​​​​​​​​​​​​​​​​​​​​​​​​​tempDiv.find('a').attr('href'));
});

上面的代码使用一个临时的 div(tempDiv)从选项值中捕获 html 并提取 href 值。

演示(选择一个选项):http: //jsfiddle.net/A7nyd/

[更新] 这实际上与@chrisgonzalez 的答案相同。

于 2012-11-28T16:51:34.680 回答
1

首先,当前 HTML 存在错误。值中的所有 html 都有double quotes.

把它包在里面single Quotesor escape the ones inside

试试这个

​$('#ht')​.after('<div id="check"></div>');

​$('#ht option').each(function(){
    if(this.value != ''){
       var $check = $('#check');
       var str = this.value;
       $check.append(str);
       var href = $check.find('a').attr('href');
       this.value = href;
       $check.empty();
    }        
});

$('#check').remove();

检查小提琴

于 2012-11-28T16:41:56.357 回答
0

使用 jQuery:

$('option').attr({value: 'new src'});
于 2012-11-28T16:33:55.413 回答
0

试试这个:

$("#ht option").each(function()
{
    $(this).val($(this).val().find("a").attr("href"));
});
于 2012-11-28T16:36:01.593 回答