2016-04-25 66 views
0

我卡在这里。就像提取所有的mailto: hrefs并用分隔符分隔它们。jquery:匹配所选表格行的所有电子邮件

HTML

<table class="table table-striped fadeactions users"> 

    <tbody> 
    <tr class="user" id="user_21278"> 
     <td class="dim">21278</td> 
     <td> 
     <input checked="checked" id="user_ids_" name="user_ids[]" type="checkbox" value="true" /> 
     </td> 
     <td>Helga</td> 
     <td class="fadeactions col-md-2"> 
     <a data-placement="top" data-title="User details and assigned groups" data-toggle="tooltip" href="https://stackoverflow.com/users/21278"><i class="fa fa-user"></i></a> 
     <a data-placement="top" data-title="Email to" data-toggle="tooltip" href="mailto:[email protected]"><i class="fa fa-envelope-o"></i></a> 

     </td> 
    </tr> 

    <tr class="user" id="user_18333"> 
     <td class="dim">18333</td> 
     <td> 
     <input checked="checked" id="user_ids_" name="user_ids[]" type="checkbox" value="true" /> 
     </td> 
     <td>Franziska</td> 
     <td class="fadeactions col-md-2"> 
     <a data-placement="top" data-title="User details and assigned groups" data-toggle="tooltip" href="https://stackoverflow.com/users/18333"><i class="fa fa-user"></i></a> 
     <a data-placement="top" data-title="Email to" data-toggle="tooltip" href="mailto:[email protected]"><i class="fa fa-envelope-o"></i></a> 
     </td> 
    </tr> 

    </tbody> 
</table> 

<br/> 
<textarea id="maila"></textarea> 

jQuery的

$('tr td:has(input:checkbox:checked) ~ td > a').each (i, e) -> 
    em=$(e).attr('href').match('mailto\\:.*').replace('mailto:','') 
    $('#maila').append(em); 

其实复选框匹配和邮寄地址:比赛的工作,但焕添加替换功能我没有输出了。 感谢您也展示如何在地址之间插入分隔符(;)。 最后,我想有:

[email protected]; [email protected]

还找了JSFiddle

回答

1

的例子试试这个:

var emails = []; 
 

 
$('tr td:has(input:checkbox:checked) ~ td > a[href^="mailto"]') 
 
    .each(function() { 
 
    console.log('test'); 
 
    var 
 
     $this = $(this), 
 
     email = $this.attr('href').replace('mailto:', ''); 
 

 
    emails.push(email); 
 
    }); 
 

 
$('#maila').val(emails.join(';'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table table-striped fadeactions users"> 
 

 
    <tbody> 
 
    <tr class="user" id="user_21278"> 
 
     <td class="dim">21278</td> 
 
     <td> 
 
     <input checked="checked" id="user_ids_" name="user_ids[]" type="checkbox" value="true" /> 
 
     </td> 
 
     <td>Helga</td> 
 
     <td class="fadeactions col-md-2"> 
 
     <a data-placement="top" data-title="User details and assigned groups" data-toggle="tooltip" href="https://stackoverflow.com/users/21278"><i class="fa fa-user"></i></a> 
 
     <a data-placement="top" data-title="Email to" data-toggle="tooltip" href="mailto:[email protected]"><i class="fa fa-envelope-o"></i></a> 
 

 
     </td> 
 
    </tr> 
 

 
    <tr class="user" id="user_18333"> 
 
     <td class="dim">18333</td> 
 
     <td> 
 
     <input checked="checked" id="user_ids_" name="user_ids[]" type="checkbox" value="true" /> 
 
     </td> 
 
     <td>Franziska</td> 
 
     <td class="fadeactions col-md-2"> 
 
     <a data-placement="top" data-title="User details and assigned groups" data-toggle="tooltip" href="https://stackoverflow.com/users/18333"><i class="fa fa-user"></i></a> 
 
     <a data-placement="top" data-title="Email to" data-toggle="tooltip" href="mailto:[email protected]"><i class="fa fa-envelope-o"></i></a> 
 
     </td> 
 
    </tr> 
 

 
    </tbody> 
 
</table> 
 

 
<br/> 
 
<textarea id="maila"></textarea>

+0

完美的作品,MERCI! – Phipsen

相关问题