2010-05-20 185 views

回答

5

可以使用.replacewith()和功能,這樣做:

​$("div a").replaceWith(​​​​function() { return $(this).text();​ });​ 

You can see a quick demo here

+0

這是否適用於圖像和其他內容? – Chris 2010-05-20 15:49:50

+0

@Chris - 在這種情況下使用'.contents()'而不是'.text()',在這裏看到一個演示:http://jsfiddle.net/qd3E2/2/ – 2010-05-20 15:54:21

2

我知道這個問題是老了,但我這樣做完成了這個以下:

1 - 選擇,我想禁用所有錨
2 - 刪除與錨
3相關的所有活動 - 用#替換href屬性值
4 - 將點擊事件添加到不執行任何操作的錨點

下面的代碼示例從我的插件中刪除。該插件也有代碼 再次啓用錨點。它可能會給你想法。

你也可以在(http://www.dougestep.com/dme/jquery-disabler-widget)下載我的插件並使用它或從中刪除你需要的東西。

$('a').each(function(e) { 
    // disable events on anchor 
    this._disableEvents($(this)); 

    // save off the HREF value 
    var href = inp.attr("href"); 
    if (href != undefined) { 
    // save the HREF attribute value and remove the value 
    inp.data(dataAnchorHref, href); 
    inp.attr("href", "#"); 
    } 
    // override the click event for the anchor 
    inp.on("click", function(e) { 
    e.preventDefault(); 
    }); 

    // decorate the anchor with a disabled look 
    inp.addClass('ui-state-disabled'); 

}); 

_disableEvents : function(inp) { 
    var de = $.Event("disableEvents"); 
    this._trigger("disableEvents", de, inp); 
    if (de.isDefaultPrevented()) { return; } 

    var widgetEventPrefix = this.widgetEventPrefix; 
    // jQuery adds an "events" data attribute on the element when events are registered 
    var events = inp.data("events"); 
    if (events != undefined) {  
    var savedEvents = []; 
    // loop through each event found on the element... 
    $.each(events, function(eventName, handlers) { 
     $.each(handlers, function(index) { 
     var handler = handlers[index]; 
     if (handler != undefined) { 
     // save the event and handler 
     var eventObj = { 
      'eventName' : eventName, 
      'handler' : handler 
     }; 
     if (eventName.indexOf(widgetEventPrefix) < 0) { 
      // unbinding a non widget event 
      savedEvents.push(eventObj); 
      inp.unbind(eventName); 
     } 
     }    }); 
    }); 
    // store the saved events as a data attribute on the element 
    inp.data(dataSavedEvents, savedEvents); 
    }   
} 
+0

+1與鏈接一起給一個解決方案的概要完整的軟件包:-) – kleopatra 2012-11-17 17:50:48