XML内のテキストをオブジェクトのコンストラクタの引数に渡すことはできますか?
例:(これではできませんでした。)
--------------------------------------------------------------
ffdata.xml
<?xml version="1.0" encoding="UTF-8" ?>
<ffdata>
<chardef><!--キャラ登場時のステ(name,hp,mp,str,fig,tec,agi,int,mnd)-->
<ch1>アラゴルン,400,80,10,7,8,10,6,6</ch1>
</chardef>
</ffdata>
--------------------------------------------------------------
main.html
<script>
//************************************************オブジェクト
function charctor(name,hp,mp,str,fig,tec,agi,int,mnd){
this.name= name;
this.hp = hp;
this.mp = mp;
this.str = str;
this.fig = fig;
this.tec = tec;
this.agi = agi;
this.int = int;
this.mnd = mnd;
}
//************************************************ffdata.xmlファイルを読み込み
$(document).ready(function(){
$.ajax({
type: "GET",
url: "ffdata.xml",
dataType: "xml",
success: function(xml) { createObj(xml);},
error: function(){alert("xmlファイルの読み込みに失敗しました");}
});
});
//************************************************オブジェクト作成
function createObj(xml){
aragorn = new charctor($(xml).find("chardef").find("ch1").text());
$("#main").html(aragorn.str);//************************#main内に表示
}
</script>
<body id="main">
</body>
-------------------------------------------------------------
思いつきでやってうまく行かなかったんですが、何か出来そうな気がするんです。
間違いがあったら指摘していたけると助かります。
No.1ベストアンサー
- 回答日時:
text()で返るのはただのテキストです。
王道的にはsplitで配列にして、それを引数にする必要があります。
var a = $(xml).find("chardef").find("ch1").text().split(",");
aragorn = new charctor(a[0],a[1],a[2],...);
もし楽をしたいなら、こんなですね。
この場合、xml内の文字列はダブルクオートで囲ってください。
aragorn = eval("new charctor(" + $(xml).find("chardef").find("ch1").text() + ")");
<ch1>"アラゴルン",400,80,10,7,8,10,6,6</ch1>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムについて。
-
ジャバスクリプトについて。
-
①入力フォーム→②確認表示画面→③...
-
指定時間になったら、WEBサイト...
-
アップロードファイルの種類に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
jsで質問です。 displayプロパ...
-
【Google Apps Script】「ライ...
-
階層別の組織図の自動作成について
-
特定の文字列を複数抜き出した...
-
セレクトを全て選択されていな...
-
二次元配列の全要素の全要素を...
-
読み込んだQRコードをフォーム...
-
初心者です。gulpでコンパイル...
-
セレクトボックスで配列を呼び...
-
Googleフォームで選択肢に応じ...
-
変数名をどのようにつけるのが...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報