如何獲取鏈接的名稱「test.php」中的「test」?如何獲得沒有文件擴展名的鏈接名稱?
我試圖建立一個變量:
var linkname= this.href.substring(2);
我不知道substring()
如何工作。這是一種正確的方法嗎?
謝謝。
UPDATE:
$(".nav").delegate("a", "click",function() {
var linkname = this.href.substr(0, (this.href.length - '.php'.length));
$("#claim"+linkname).fadeIn('slow').siblings().hide();
});
首先,感謝您的回答。但是我有錯嗎?這仍然不起作用。
也許是我的錯:我也需要在開頭刪除一個「#」。
UPDATE三
這個完整的代碼我工作:
$(document).ready(function(){
$("#claimone, #claimtwo, #claimthree").hide();
$("#claimone").show();
$(".nav").delegate("a", "click",function() {
var linkname = this.href.substr(0, (this.href.length - '.php'.length));
$("#claim"+linkname).fadeIn('slow').siblings().hide();
});
});
第二個函數生成 「#link.php」。所以我不知道它是不是碰撞。所有索賠都在index.php中。對於每個新加載的內容,我還想更改內容。鏈接如href =「one.php」,href =「two.php」,href =「three.php」。
$(function() {
var newHash = "",
$mainContent = $("#maincontent-wrapper"),
$pageWrap = $("#wrapper"),
baseHeight = 0,
$el;
$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();
$(".nav").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find(".maincontent")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " .maincontent", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$(".nav a").removeClass("active");
$(".nav a[href="+newHash+"]").addClass("active");
});
});
};
});
$(window).trigger('hashchange');
});
這不是一個真正的解決方案,但它的工作原理。我只是給每個href一個.link類和每個聲明的名稱。
$(".link").click(function() {
var divname= this.name;
$("#claim"+divname).fadeIn(200).siblings().hide();
});
但這並不是我想要的。代碼太多。現在,它不會同步到加載的內容淡入。最好是以某種方式組合兩個淡入淡出。
最終解決
遠處形成解決這個我設法它綁定到函數的第一個想法應該與有實際工作:
$claim
.find("#claim")
.fadeOut(200, function() {
$claim.show().load(newHash + " #claim", function() {
$claim.hide().fadeIn(200);
});
});
謝謝大家。瞭解更多關於旁邊的子串!
你是什麼意思的名字。是指attr或標籤之間的文本。「沒有結束」給出例子你問什麼 – Gowri
我只是想從「test.php」中刪除「.php」我不知道這是什麼。 – Melros
定義「不起作用」。目前還不清楚你想要做什麼。 'this.href'更可能是「http://example.com/test.php」,因此''#claim「+ linkname'將會是」#claimhttp://example.com/test「。在現代瀏覽器中使用'console.log(this.href)'和'console.log(linkname)'來了解發生了什麼。 – six8