Моя цель была решена с помощью другого обходного пути, который заключается в добавлении дочернего DIV. Заключение всех дочерних элементов внутри родительского элемента в этот новый дочерний DIV:
Мой рабочий пример такой же, как и в постановке задачи: См. Fiddle
HTML:
:before
** Примечание: игнорировать :before
в HTML, просто показывая, чтобы понять.
CSS:
div.parentDiv{position:relative; background-color:#333; padding:0; margin:20px; float:left; }
div.parentDiv:before { content:""; display:block; padding:5px; background-color:#f60; border:2px solid white; position: absolute; top:-2px; right:-2px; border-bottom-left-radius: 10px; cursor:pointer}
div.childDiv{padding:20px; margin:0}
jQuery:
jQuery(document).ready(function($){
$('div.parentDiv').click(function(e){
if( $(e.target).closest('.childDiv').length==0 ){
//so clicked on psudo :before element!
//do your work here ;)
alert('Psudo :before element is clicked!');
}
});
});
Если вы пытаетесь удалить строки с буквальным текстом «TAG», попробуйте:
sed '/\/\/<<<TAG/,/\/\/TAG>>>/d'
Из ваших комментариев видно, что TAG может быть не буквальным, и в этом случае:
sed '/^\/\/<</,/^\/\/.*>>/d'
Это можно упростить, используя другой разделитель:
sed '@^//<<<@,@^//.*>>>@d'
Вместо того, чтобы использовать решение sed, которое я дал, вам может понравиться любой из них в perl и awk:
perl -ne 'print if !( m@//<<<TAG@ .. m@//TAG>>>@ )' awk '/\/\/<<<TAG/,/\/\/TAG>>>/ {next} 1'
Учитывая, что я думаю, вы действительно не хотите, чтобы TAG был константой, самое чистое решение, которое я знаю это вариант на perl:
perl -ne 'print if !( m@^//<<<(.*)@ .. m@^//$1>>>$@ )'