-2

次のようなリンクがあるリストをいくつか取得しました。

<li class="folder340 collapsable"><a href="http://www.domain.com/title01" class="">   <span>Title01</span></a></li>
<li class="folder360 collapsable"><a href="http://www.domain.com/title02" class=""><span>Title02</span></a></li>

私は彼らがなりたい:

<li class="folder340 collapsable"><a href="http://www.domain.com/340" class="">   <span>Title01</span></a></li>
<li class="folder360 collapsable"><a href="http://www.domain.com/360" class=""><span>Title02</span></a></li>

次のようなものを使用する必要があることはわかっています。

    var url = $(this).find('a').attr('href') + "this need to be the li class and minus the text folder";

何か案が?

4

7 に答える 7

1

Var className = $(".collapsible").attr("class");

次に、単純な JavaScript 文字列関数を使用して、テキスト「フォルダー」を削除するだけです。

次に、最終的なドメインを変数に保存し、 $("specefic-collapsible").attr("href") = finalURL; を使用して設定します。

私の回答が正しくフォーマットされていない場合は申し訳ありませんが、私は携帯電話を使用しています。

于 2013-02-28T04:01:42.120 に答える
1

試す

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">

    $(function()
    {
        $('li.collapsable').each(function()
        {
            //console.log($(this).attr('class'));
            var cls  = $(this).attr('class').replace('folder',"").replace(" collapsable","");
            var link = $(this).find('a');
            link.attr('href',"http://www.domain.com/"+cls)
            console.log(cls);
        });
    });

</script>
<ul>
    <li class="folder340 collapsable"><a href="http://www.domain.com/title01" class="">   <span>Title01</span></a></li>
    <li class="folder360 collapsable"><a href="http://www.domain.com/title02" class=""><span>Title02</span></a></li>
</ul>
于 2013-02-28T04:01:47.593 に答える
1

次のようなことを試してください:

$('.collapsable').each(function(){
    //Select some elements
    var $li = $(this);
    var $link = $li.find("a");

    //Grab the number from the class name beginning with 'folder'
    var folderNum = /folder([\d]+)/g.exec($li.attr("class"))[1];

    //Get the text from the span, this will be what we need to replace in the url 
    var titleToReplace = $link.find("span").text().toLowerCase();

    //Get the original URL
    var originalUrl = $link.attr('href');

    //Replace the part of the URL
    var newUrl = originalUrl.replace(titleToReplace, folderNum);

    $link.attr("href", newUrl);
});

ここでの動作デモ: http://jsfiddle.net/q4XJs/

于 2013-02-28T04:02:02.113 に答える
1

これは機能します:

$('li a').each(function(){
    var cls = $(this).parent().attr('class').split(' ')[0];

    var folder = cls.split('folder')[1];

$(this).attr('href', 'http://www.domain.com/'+folder);
});

jsfiddle: http://jsfiddle.net/nD4qL/

于 2013-02-28T04:06:59.243 に答える
0

これを試してみてください:- http://jsfiddle.net/adiioo7/jdCVq/

JS:-

$(function(){
    $(".collapsable").each(function(){
        var oldhref=$(this).find("a").attr("href");
        var className = $(this).attr("class");
        className=className.replace("folder","").replace(" collapsable","");
        oldhref=oldhref.replace($(this).find("a").text().toLowerCase().trim(),className);
        $(this).find("a").attr("href",oldhref);
    });
});
于 2013-02-28T04:11:59.237 に答える
0

次のことを試してください。

$('li').each(function(){
    var n=$(this).attr('class').split(" ")[0].length;
     var x=$(this).attr('class').substring(n-3,n);
     $(this).find('a').attr('href','http://www.domain.com/'+x);
    });
于 2013-02-28T04:21:22.913 に答える
-1
<li class="folder340 collapsable"><a id="link1" href="http://www.domain.com/title01" class="">   <span>Title01</span></a></li>
<li class="folder360 collapsable"><a id="link2" href="http://www.domain.com/title02" class=""><span>Title02</span></a></li>

JS:

$("#link1").attr("href", "http://www.domain.com/340");

$("#link2").attr("href", "http://www.domain.com/360");
于 2013-02-28T04:00:35.133 に答える