2010-03-30 70 views
1

我搜索选择从一个div文本,然后点击该删除所有HTML部分在体内,除非该文本被选中显示聚焦格只书签

也许jQuery的可以帮助DIV一个书签类似于:

javascript:var%20s=document.createElement('script');s.setAttribute('src',%20'http://jquery.com/src/jquery-latest.js');document.body.appendChild(s);s.onload=function(){/*the code*/};void(s); 
+0

我不知道你发布的代码与这个问题有什么关系......它只包含jQuery库? – 2010-03-30 21:35:27

回答

2

假设您选择的文本只出现在页面上一次,这应该工作。如果它多次出现,这应该显示包含选定文本的页面上的最后一个div。

更可读

function sel() { 
    if (window.getSelection) { 
     return window.getSelection().toString(); 
    } else if (document.getSelection) { 
     return document.getSelection(); 
    } else if (document.selection) { 
     return document.selection.createRange().text; 
    } 
} 
var s = document.createElement('script'); 
s.setAttribute('src', 'http://jquery.com/src/jquery-latest.js'); 
document.body.appendChild(s); 
s.onload = function() { 
    var x = $(":contains('" + sel() + "')").last().parents("div").eq(0); 
    $("body").empty().append(x); 
}; 
void(s); 

作为一个班轮

javascript:function sel(){if(window.getSelection) return window.getSelection().toString();else if(document.getSelection) return document.getSelection();else if(document.selection) return document.selection.createRange().text;} var s=document.createElement('script');s.setAttribute('src','http://jquery.com/src/jquery-latest.js');document.body.appendChild(s);s.onload=function(){var x=$(":contains('"+sel()+"')").last().parents("div").eq(0);$("body").empty().append(x);};void(s); 

如果你也想的CSS花式要了以后,你必须清空<head>

+0

谢谢,这正是我正在寻找的! sel()甚至是crossbrowser :-) – ideotop 2010-03-31 08:26:40

0

如果我理解ü权乌尔看着这样的事情。

HTML

<body> 
    <div class="bookmarklet"> 
    bookmarklet Text 
    </div> 
    <div> 
    <div> 
    <div class="bookmarklet"> 
     bookmarklet Text 
    </div> 
    <div>Usless</div> 
    <div>Usless</div> 
    </div> 
    <div>Usless</div> 
    </div> 
    <script> 
    $('bookmarklet').unbind('click').bind('click',function(){ 
     var text = $(this).text(); 
     $('body').html('').append(text); 
    }) 
    </script> 
</body> 

现在,如果你将这个脚本标签上的标题jquery的,如果你不知道如何再发表评论下面这将工作。