举个例子,假设我有以下HTML设置。
<div class="element" data-xy-ko="value1" data-xy-ko2="value2">
<span data-xy-ko="value3">testing</span>
<ul>
<li data-xy-ko="value4" data-xy-ko2="valu5">testing</li>
<li data-xy-ko="value5">tsjbd</li>
</ul>
</div>
有多个数据属性。一些属性的共同点是,只要它们以data-xy-ko
data-xy-ko2
,data-xy-ko
或任何其他组合开头
问题:如何获取与data-xy-ko
匹配的所有数据属性,并为找到的每个属性运行每个循环,我可以获取每个属性值,包含它的元素,以及找到每个人的其他东西。
编辑我可以在同一元素上找到多个匹配属性。
答案 0 :(得分:1)
您可以使用jQuery按属性
进行选择- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Initialize the alert view controller.
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Loading Dataset" message:@"Please wait...\n\n\n" preferredStyle:UIAlertControllerStyleAlert];
// Present the alert view controller.
[self presentViewController:alert animated:YES completion:^{
/// Perform long operation here...
dispatch_after(0, dispatch_get_main_queue(), ^{
// Dismiss the alert message.
[loadAlertController dismissViewControllerAnimated:YES completion:nil];
/// Execute rest of code INDSIDE the dispatch code block INSTEAD of after it...
});
}];
}
答案 1 :(得分:0)
这不是直接的答案,因为我正在改变您的HTML前提,但这是处理您希望实现的目标的更好方法,IMO。我会这样做:
<div class="element" data-xy-ko="value1 value2">
<span data-xy-ko="value3">testing</span>
<ul>
<li data-xy-ko="value4 value5">testing</li>
<li data-xy-ko="value5">tsjbd</li>
</ul>
</div>
然后你可以说:
var myValues = $(element).attr('data-xy-ko');
var valuesArray = myValues.split(" ");
for(var i = 0; i < valuesArray.length; i++) {
switch(valuesArray[i]) {
case "value 1":
// do stuff
break;
case "value 2":
// do stuff
break;
case "value 3":
// do stuff
break;
...etc...
}
}