-3

純粋なJavaScript(JQuery / dojo / etcを使用しない)では、文字列を分割するための最良/最も簡単/最速の方法は何ですか?

var tempString = '<span id="35287845" class="smallIcon" title="time clock" style="color:blue;font-size:14px;" contenteditable="false">cookie</span>';

の中へ

var id = 'id="35287845"';
var class = 'class="smallIcon"';
var title = 'title="time clock"';
var style = 'style="color:blue;font-size:14px;"';
var contenteditable = 'contenteditable="false"';

注意事項:

  • 「スペース」は、上記のタイトル(タイムレコーダー)などの値に表示される可能性があるため、適切な区切り文字として使用することはできません。

  • id = "35287845"など、各変数を二重引用符で囲むことは重要です

  • 開始/終了スパンタグ、およびコンテンツ(この場合は「cookie」)は破棄できます。

4

2 に答える 2

1

これが1つのアプローチです。これは、入力文字列をinnerhtmlとしてjavascriptで作成されたdom要素に配置し、属性配列を活用することです。

//Input html string
var tempString = '<span id="35287845" class="smallIcon" title="time clock" style="color:blue;font-size:14px;" contenteditable="false">cookie</span>';

//make element to contain html string
var tempDiv = document.createElement("div");

//place html string as innerhtml to temp element
tempDiv.innerHTML = tempString;

//leverage attributes array on element
var attributeArray = tempDiv.firstChild.attributes;

//log results
console.log(attributeArray);

あなたは今のようなことをするかもしれないことに注意してください

var classString = attributeArray.class;

また

var titleString = attributeArray.title;

編集

これを行う関数は次のとおりです。

function getAttributesFromString(htmlString)
{
 var tempDiv = document.createElement("div");
 tempDiv.innerHTML = htmlString;
 return tempDiv.firstChild.attributes;
}
于 2012-12-04T00:49:11.547 に答える
1

スパン内のプロパティを取得しようとしていると思います。この応答を確認して、その方法を説明してください。

Javascript/jQueryを使用してHTML要素からすべての属性を取得します

また、プロパティを取得して、値を文字列と連結する文字列を作成することもできます。

(そこに純粋なjavascriptで説明を見つけることができます)

于 2012-12-04T00:49:02.630 に答える