У меня есть элементы json в этой форме;
<rect style="fill: #888888; display: inline;" id="17" width="35.823246" height="35.823246" x="456.61066" y="65.9505" class="seatObj" label="A18"></rect>
Как я могу получить значение label
атрибута?
Предположим, что <rect.../>
помещает часть xml, то как я могу получить то же самое с помощью консольного приложения С#?
Попробуй это:
var elem = document.getElementsById('17');
var label = elem.getAttribute('label');
alert(label);
Использование jQuery:
alert($('#17').attr('label'));
У вас есть 300 таких элементов:
затем попробуйте следующее:
$('rect').each(function(){
alert($(this).attr('label'));
});
вот Демо
Другой способ сделать это, добавив атрибут класса в ваш элемент rect и выбрав их, используя этот класс. Я добавил class="sample"
rect element. Проверьте этот скрипт
$('.sample').each(function(){
alert($(this).attr('label'));
});
Пример XML файла.
<?xml version="1.0" encoding="utf-8" ?>
<Test>
<rect style="fill: #888888; display: inline;" id="17" width="35.823246" height="35.823246" x="456.61066" y="65.9505" class="seatObj" label="A18"></rect>
<rect style="fill: #888888; display: inline;" id="18" width="35.823246" height="35.823246" x="456.61066" y="65.9505" class="seatObj" label="A19"></rect>
</Test>
Анализ xml с использованием консольного приложения С#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("Url for Sample.xml");
XmlNodeList elemList = doc.GetElementsByTagName("rect");
for (int i = 0; i < elemList.Count; i++)
{
string attrVal = elemList[i].Attributes["label"].Value;
Console.WriteLine(attrVal);
}
Console.ReadLine();
}
}
}
alert($('#17').attr('label'));
Попробуй это:
var elem = $('#' + id)
alert(elem.attr("label"));
Прежде всего, label
не является допустимым атрибутом DOM. Вы должны изменить его на data-label
. Если вы хотите использовать какие-либо пользовательские атрибуты, вам необходимо использовать их с префиксом data-
.
Кроме того, атрибут атрибута id
должен быть буквой, например a17
, а не 17
.
Если вы рассмотрите два выше, то для доступа к этому атрибуту вы можете сделать
$('#a17').attr('data-label')
или простой javascript
document.getElementById('a17').dataSet.label
label="A18"
равенid="17"