Инвертировать выделение текста из DIV - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть несколько div элементов, подобных этому:

<div class="newsContainer">
    <div class="deleteBoxIcon">
        <img alt="Delete" src="close_mark.png">
    </div>
    <div class="newsImage">
        <img alt="NewsImage" src="umbrella.png">
    </div>
    <div class="newsContent">
        <b>Here goes a title</b><br>
        Here goes some content.
    </div>
</div>

На основании определенных условий я извлекаю один из этих элементов и сохраняю его в объект (draggable), теперь мне нужно извлечьтекст заголовка и содержимого для элементов управления вводом.

Получение названия не сложно для меня, я просто делаю это:

var title = $('.newsContent > b', $(draggable)).text();

Но сложная часть для меня - получение содержимого, Я пробовал это, но не работает , потому что он получает весь текст (включая заголовок):

var content = $(':not(.newsContent > b)', $(draggable)).text();

Надеюсь, вы можете помочь мне получить только часть содержимоговот так div.

Ответы [ 3 ]

1 голос
/ 05 декабря 2011

Попробуйте это:

var title = $('.newsContent > b').text();
var content = $.trim($('.newsContent').text().replace(title, ""));

Пример скрипки

0 голосов
/ 05 декабря 2011

Вы должны изменить свою разметку, чтобы облегчить написание вашего JavaScript.Оберните свою разметку, исключая заголовок внутри другого тега, и затем выберите ее.

Пример:

<div class="newsContent">
    <h2>Here goes a title</h2>
    <div class="newsDesc">
        <p>Here goes some content.</p>
    </div>
</div>

Затем используйте $('.newsContent .newsDesc', $(draggable)).text();

0 голосов
/ 05 декабря 2011

Если вы просто хотите последний бит текста:

$('.newsContent', draggable).contents().last()[0].data;

  • .contents() метод дает вам все дочерние узлы, включая текстовые узлы

  • .last() дает вам последний узел, который вам нужен

  • [0] извлекает текстовый узел из объекта jQuery

  • .data дает вам текстовое содержимое узла


Или вы можете заменить [0].data на .text().

$('.newsContent', draggable).contents().last().text();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...