2013-08-01 5 views
-3

Я использую jQuery, и мне нужно получить код HTML любого элемента, на который пользователь щелкает правой кнопкой мыши. В jsfiddle есть образец. У меня нет идентификаторов в HTML кодПолучить код HTML по правому клику

JSFiddle is here
<div id="container"> 
    <p>Click Area 1</p> 
    <p>Click Area 2</p> 
    <div> 
    Click area 3<br/> 
    <a href="#">Click Area 4</a><br/> 
    <a href="#">Click Area 5</a><br/> 
    </div><br/> 
    <div id="codewidget" ></div><br/> 
</div> 

Как я могу идти о получении содержимого HTML и распечатать его на codewidget? Я пробовал, но я новичок в этом.

ответ

4

Есть несколько проблем

  1. JQuery библиотека не была выбрана в jsfiddle
  2. идентификатор code widget не может иметь пространство
  3. $('#container').click( пропускал $

Попробуйте

<div id="container"> 
    <p>Click Area 1</p> 
    <p>Click Area 2</p> 
    <div> 
     Click area 3<br/> 
     <a href="#">Click Area 4</a><br/> 
     <a href="#">Click Area 5</a><br/> 
    </div><br/> 
    <div id="codewidget" ></div><br/> 
</div> 

затем

$('#container').click(
    function(e){ 
     //prevent any click 
     e.preventDefault(); 
     //get the id of the selector 
     var s = e.target.outerHTML; 
     $("#codewidget").text(s); 
    } 
); 

Demo: Код Fiddle

+0

Благодарим Вас за быстрый ответ! Когда я нажимаю на область щелчка 4, она дает весь html, затем Click Area 4
. Как я могу просто показать содержимое html того, что я нажал? – madi

+1

@madi посмотреть обновление –

+0

Извините Арун. Кажется, я тебя смутил, поскольку я не был ясен. То, что я говорил, когда я нажимаю «Click Area 4», я хочу html-код этого конкретного кода. Что такое 'Click Area 4
'. Предыдущий, который вы показали, показал его так, что он отображал все коды html контейнера. Так вот что я имел в виду. Мои извинения! – madi

1

@arun P Jony в

изменить его, как показано ниже это даст HTML

$('#container').click(
    function(e){ 
     //prevent any click 
     e.preventDefault(); 
     //get the id of the selector 
     var s = e.target.outerHTML; 
     $("#codewidget").html(s); <!-- change it to html instead of text 
    } 
); 
+0

Спасибо за ваш ответ, но с $ ("# codewidget"). Html (s) он дает точную копию элементов, которые я щелкнул. Я не ищу. Но большие пальцы вверх для вашей попытки ответить, поскольку это другой метод для другого использования. – madi

Смежные вопросы