0

「a」htmlタグから一部のコンテンツを分割したいと思います。私はjqueryでやり直していました。私のコードは次のようなものですが、機能していません:

$("a.uribb").each(function() {
    var id = $(this).attr("href").replace("http://dereferer.org/?", "");
    $(this).append(+id+);
});

そして、HTML タグは次のとおりです。

<a href="http://dereferer.org/?http://example.com/" target="_blank" class="uribb">
    http://example.com/
</a>

http://dereferer.org/?私はその部分を分割し、他の部分をそこに残したかった. どうすればこれを行うことができますか?

4

3 に答える 3

1

どのようにそのことについて?

$("a.uribb").attr("href", function(i, val) {
    return val.substring(val.indexOf("?") + 1);
});​

デモ:http: //jsfiddle.net/zQdL4/


興味深いですが、マークアップには次のコードも機能するはずです:)

$("a.uribb").attr("href", function() {
    return $.trim(this.innerHTML);
});​
于 2012-06-30T21:42:23.073 に答える
1

中身を入れ替えたい場合は.text()代わりに使ってみてください。また、 idの前後.append()は不要です。+

代わりにこれを試すことができます:

var id = $(this).attr("href").replace("http://dereferer.org/?", "");
$(this).text(id);

アップデート

質問をもう一度読んでみると、a-tag の内容を置き換えたいのか、href の値を置き換えたいのかわかりません。後者の場合は、これを試してください:

var id = $(this).attr("href").replace("http://dereferer.org/?", "");
$(this).attr("href", id);

知らせ

jQuery 1.6 以降では、 .prop()の代わりに.prop().attr()を使用することをお勧めします。

于 2012-06-30T21:32:32.530 に答える
0

そうです、あなたが欲しいのはこれです。

<a href="http://example.com/">...

これを試して。

$("a.uribb").each(function() {
    var indirect_url = $(this).prop("href");
    var direct_url = indirect_url.replace("http://dereferer.org/?", "")
    $(this).prop('href', direct_url);
});

もちろん、これをより少ない行で行うこともできますが、この方法で何が起こっているのかが明確になります。具体的には、操作する文字列を変更replace()しません。

于 2012-06-30T21:44:59.663 に答える