-2

タグが文字列として保存されている場合、タグのテキスト値を取得するにはどうすればよいですか?

var value = "<div>teeext</div>";

タグは何でもかまいません。その属性には ">" 文字列も含まれる可能性があり、正規表現は危険な場合があります。また、テキスト値自体が別のタグになる可能性もあります。

4

4 に答える 4

0

これはスターターとして役立ちますか?

function getText(tagString) {
    var firstOpenTag = tagString.indexOf(">"),
        lastCloseTag = tagString.lastIndexOf("</"),
        substrLength;

    if (firstOpenTag == -1 || lastCloseTag == -1) {
        return tagString;
    }

    substrLength = (tagString.length - firstOpenTag) - (tagString.length - lastCloseTag) - 1;
    return tagString.substr(firstOpenTag + 1, substrLength);
}

var value = "<div>teeext</div>";

console.log(getText(value));

var moreTags = "<div><ul><li>Text</li></ul></div>",
    returnValue = moreTags,
    prevReturnValue = "";

while (returnValue !== prevReturnValue) {
    prevReturnValue = returnValue;
    returnValue = getText(returnValue);
}

console.log(returnValue);
于 2013-02-12T09:09:18.387 に答える
0

タグを削除しようとしていると思います..その場合、次のようにできます。

originalString = "<div>teeext</div>";
var value = originalString.replace(/(<([^>]+)>)/ig,"");

テストしてみてください。処理する必要がある例外がある場合は、ここにコメントしてください。さらにお手伝いします.

複数のタグの編集:

originalString = "<div>teeext</div>";
outputString = originalString;
while (outputString.indexOf(/(<([^>]+)>)/ig) !== -1){
    outputString = outputString.replace(/(<([^>]+)>)/ig,"");
    }
value = outputString;

テストしていませんが、要点はわかります;)

于 2013-02-12T08:51:00.923 に答える
0

ダミー要素を作成できます:

var value = "<div>teeext</div>";

var div = document.createElement('div');
div.innerHTML = value;

var text = div.innerText || div.textContent;
于 2013-02-12T08:51:25.653 に答える
0

JavaScriptのみを使用:

    var div = document.createElement('div');
    var value = "<div>teeext</div>";
    div.innerHTML = value; 
    var element = div.firstChild

    console.log(element.innerHTML); //this the stuff in the tag

jquery の使用:

$(value).html();
于 2013-02-12T08:56:44.497 に答える